Я пытаюсь изменить загруженную таблицу электронной таблицы googe, а затем сохранить ее на своем сервере. Загрузка файла в порядке, я получаю его сохраненным на моем сервере, и он открывается нормально, и все в порядке. Проблема возникает, когда я загружаю файл в объект PHPExcel, а затем модифицирую некоторые из ячеек и затем сохраняю измененный файл. Может ли кто-нибудь увидеть, где я ошибаюсь? Игнорируйте строки, получающие значение запаса из базы данных, они правильно закодированы в моем коде. Я только что удалил запрос из образца вставленного кода.PHPExcel редактирует ячейки и сохраняет - «Недействительный координат ячейки»
Я получаю сообщение об ошибке:
Fatal error: Uncaught exception 'Exception' with message 'Invalid cell coordinate 'CURRENT PRODUCTS'!A2' in .. /PHPExcel\Classes\PHPExcel\Cell.php:508 Stack trace: #0 ....
function updateDoc($url)
{
file_put_contents("filename.xlsx",fopen($url,"r"));
$filename = "filename.xlsx";
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$excel2 = $objReader->load('filename.xlsx');
$excel2->setActiveSheetIndexByName("Current Products");
$rowIterator = $excel2->getActiveSheet()->getRowIterator();
$rows = 1;
$columnAsLetters = 'E';
foreach($rowIterator as $row)
{
if($rows <= 2)
{
continue;//skip first 2 rows
}
else
{
$data = $excel2->getActiveSheet()->getCell($columnAsLetters.$rows)->getCalculatedValue();
$sku = trim($data);
$stock = //** I select stock from database **//
$r = //** returned sql row **//
$stk = $r[0];
$excel2->getActiveSheet()->setCellValue("G" . $rows, $stk);
}
$rows++;
}
$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->setPreCalculateFormulas(FALSE);
$objWriter->save('filename2.xlsx');
}
Какая строка в вашем коде генерирует исключение и каково фактическое значение, которое вы пытаетесь сохранить? –
@Alon Насколько я могу судить, комментируя различные разделы своей последней строкой $ objWriter-> save ('filename2.xlsx'); что порождает ошибку. Я просто пытаюсь переписать значение запаса в столбце G с новым значением запаса, взятым из базы данных. –