Так уж получилось, что до сих пор пользуюсь закопанным проектом PHPExcel
И сегодня пилю импортер под непонятного поставщика, файл xlsx, если его пересохранить в офисе, то нормально читается, а исходный же файл не читается, выдает вот такую ошибку
Fatal error: Uncaught PHPExcel_Exception: Cell coordinate can not be zero-length string in PHPEXCEL/PHPExcel/Cell.php:591
Ну полез я по цепочке вызовов, понял что в какой то момент идет вызов
PHPExcel_Cell::coordinateFromString($r)
где $r - пустая строка...
В файле PHPExcel/Reader/Excel2007.php на 818 строке находим строку с получением координат, перед ней дописываем строчку
if ($r=="") continue;
Получаем в итоге такое
Данные читаются вполне идеально, просто видимо генератор этого файла у поставщика дал сбой и дописал данные, которые не имеют ячейки, с таким фиксом левые ячейки без адресов просто отсекаются, оставляя полезные данные...
Если кому интересна моя пропатченная версия PHPExcel, адекватно читающая и генерирующая разные файлы на PHP7.2 - могу выложить, но так вообще лучше пользоваться продолжением этого проекта - PhpSpreadshee, PHPExcel уже заброшенный проект с кучей недоработок...
И сегодня пилю импортер под непонятного поставщика, файл xlsx, если его пересохранить в офисе, то нормально читается, а исходный же файл не читается, выдает вот такую ошибку
Fatal error: Uncaught PHPExcel_Exception: Cell coordinate can not be zero-length string in PHPEXCEL/PHPExcel/Cell.php:591
Ну полез я по цепочке вызовов, понял что в какой то момент идет вызов
PHPExcel_Cell::coordinateFromString($r)
где $r - пустая строка...
В файле PHPExcel/Reader/Excel2007.php на 818 строке находим строку с получением координат, перед ней дописываем строчку
if ($r=="") continue;
Получаем в итоге такое
Данные читаются вполне идеально, просто видимо генератор этого файла у поставщика дал сбой и дописал данные, которые не имеют ячейки, с таким фиксом левые ячейки без адресов просто отсекаются, оставляя полезные данные...
Если кому интересна моя пропатченная версия PHPExcel, адекватно читающая и генерирующая разные файлы на PHP7.2 - могу выложить, но так вообще лучше пользоваться продолжением этого проекта - PhpSpreadshee, PHPExcel уже заброшенный проект с кучей недоработок...
Комментариев нет:
Отправить комментарий