Непонятная проблема с чтением excel через PHPExcel?
Читаю xls файл через php. Все файлы читает нормально, а с одним проблемы. После чтения выдает ошибку ниже. При этом если открыть этот файл, сохранить заново (без каких либо изменений содержимого и изменения расширения), то он уже читается нормально.
Может кто-то уже сталкивался с этой проблемой.
Пробовал ради интереса пересохранять файл в другой формат на сайтах онлайн конвертеров. На одном выдавалась ошибка, другой справился с конвертацией csv.
Fatal error: Uncaught TypeError: Argument 1 passed to PHPExcel_Style::setFont() must be an instance of PHPExcel_Style_Font, null given, called in /home/a0329281/domains/latbag.ru/public_html/Classes/PHPExcel/Reader/Excel5.php on line 2096 and defined in /home/a0329281/domains/latbag.ru/public_html/Classes/PHPExcel/Style.php:498 Stack trace: #0 /home/a0329281/domains/latbag.ru/public_html/Classes/PHPExcel/Reader/Excel5.php(2096): PHPExcel_Style->setFont(NULL) #1 /home/a0329281/domains/latbag.ru/public_html/Classes/PHPExcel/Reader/Excel5.php(681): PHPExcel_Reader_Excel5->readXf() #2 /home/a0329281/domains/latbag.ru/public_html/Classes/PHPExcel/IOFactory.php(192): PHPExcel_Reader_Excel5->load('excel/5d90c0688...') #3 /home/a0329281/domains/latbag.ru/public_html/index.php(48): PHPExcel_IOFactory::load('excel/5d90c0688...') #4 {main} thrown in /home/a0329281/domains/latbag.ru/public_html/Classes/PHPExcel/Style.php on line 498
Да, разумеется прочитал! Эта ошибка возникает во время создания объекта. Интересно что не так с excel файлом, что он не смог в итоге создать объект. Но после пересохранения файла, загружается нормально.
seka2, занесите версию в git, а потом сохраните и посмотрите, что там поменяетсся :) возможно ваш ексель заменить несуществующий шрифт одним из существующих
seka2, там будет много каши, ведь excel это не совсем та структура, по которой можно сделать нормальный diff. но изменение шрифта, я думаю, вы найдете.