Я столкнулся с проблемой.Я использую phpspreadsheet для заполнения существующей электронной таблицы данными.
Проблема в том, что после сохранения электронной таблицы я не могу открыть ее в Microsoft Excel, и это важно!Excel говорит, что файл поврежден.
В других Office, таких как WPS-Office или Libre-Office, электронная таблица открыта и все в порядке.Только Excel не может открыть его!
Чего я не понимаю, я использую одни и те же процедуры для заполнения разных таблиц.Все открываются в Excel, только этот не загружается.
Есть ли способ узнать, какой тип коррупции обнаружил Excel?
Чтобы загрузить файл в phpsreadsheet, я использую
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadsheet = $reader->load("xlsx/infile.xlsx");
saving:
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save("xlsx/test.xlsx");
ob_end_clean();
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="outfile.xlsx"');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');
exit;
Это прекрасно работает с 2 из 3 файлов.
Я пытаюсь преобразовать файл в xls и загрузить его вphpsreadsheet.После сохранения Excel откройте его и все данные окажутся правильными.Но на первом листе есть разрыв страницы после столбца G, это неправильно.Если бы я мог выяснить, почему разрыв файла находится в файле и удалить его, я мог бы работать с ним.Но я не знаю, как найти проблему.
Что я могу сделать, чтобы выяснить, в чем заключается проблема с Excel при загрузке файла xlsx или почему в файле xls есть разрыв страницы?