Мне нужно проанализировать php файл XLS, который написан каким-то другим кодом, и он, кажется, плохо написан.
Я попытался проанализировать его с помощью PHPExcel, используя автоматическое распознавание следующим образом:
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
echo 'filetype: '.$inputFileType.'<br>';
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
Что возвращает:
filetype: CSV
Файл открыт, но он не читается правильно, поскольку данные неправильно распознаны, содержимое не находится в соответствующих ячейках, а некоторые ячейки выдают ошибку. Я пытался использовать все другие типы файлов PHPExcel, и все они возвращали ошибку.
Я пытался открыть его с помощью текстового редактора (Notepad ++) и файла в двоичном формате, а не в виде простого CSV. Расширение XLS
, но поскольку оно написано с помощью скрипта, его нельзя использовать в качестве уникального идентификатора версии.
Если я открываю файл в Excel, он открывается и я могу сохранить его в другом формате (например, как новый файл xlsx), и после этого я могу правильно его прочитать.
Думая, что он закодирован в каком-то очень старом формате, я попытался с другой библиотекой SimpleExcel
, и я получил эту ошибку: Расширение файла XLS не делает t совпадает с xml
Есть ли способ "исправить" формат перед его разбором?