Файл PHPExcel не в правильном формате Microsoft Excel 2003 XLS
Я создаю Excell 2003 с помощью PHPExcel 1.8 с помощью этого кода:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('toUploadFtp.xls');
Файл кажется в порядке, и я могу прочитать его с помощью MS Office и LibreOffice.
Но я должен загрузить файл в систему, в которой указано, что формат должен быть отличным 2003, и он выдает следующую ошибку:
Упс! Ваш файл не в правильном формате Microsoft Excel 2003 XLS.
Если я открою файл с помощью LibreOffice и сохраню его снова, я смогу правильно загрузить файл в система.
Есть идеи?
Спасибо,
4 answers
Создайте свой файл, передав соответствующую версию на завод:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
Надеюсь, это поможет.
Полное непонимание точной проблемы: похоже, это связано с дополнительной передачей файла Excel.
Одна из ошибок часто заключается в том, что PHP-скрипт выводит ложные данные.
Исключение последнего %>
- это стандартный трюк, чтобы убедиться, что в файл не добавлены дополнительные заключительные символы новой строки.
Сравнение созданных и переданных файлов должно дать представление о том, что пошло не так.
Возможно, вам потребуется настроить содержимое на нетекстовое, чтобы предотвратить некоторые преобразования текста:
header('Content-Type: application/octet'):
Я думаю, что вы можете решить эту проблему, изменив файл Excel5
. Поскольку я не пробовал phpexcel, я мало что знаю об этом..Но я думаю, что вы можете найти решение для этого [здесь].1
В конце концов я не смог найти решение. Это должна быть какая-то ошибка в формате XLS 2003.
Но я сгенерировал XLSX с помощью $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
, и система распознает его правильно.