Я пытаюсь изменить загруженную электронную таблицу Google doc, а затем сохранить ее на своем сервере. Загрузка файла в порядке, я сохраняю его на своем сервере, и он открывается нормально, и все в порядке. Проблема возникает, когда я загружаю файл в объект PHPExcel, а затем изменяю некоторые ячейки, а затем повторно сохраняю измененный файл. Может ли кто-нибудь увидеть, где я ошибаюсь? Не обращайте внимания на строки, получающие стоимость акций из базы данных, они правильно закодированы в моем коде. Я только что удалил запрос из вставленного примера кода.
Я получаю сообщение об ошибке:
Неустранимая ошибка: необработанное исключение «Исключение» с сообщением «Недопустимая координата ячейки» «ТЕКУЩИЕ ПРОДУКТЫ»! A2» в .. /PHPExcel\Classes\PHPExcel\Cell.php:508 Трассировка стека: #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');
}