Проблемы с электронной таблицей xlsx после сохранения в phpspreadsheet 1.9.0 - PullRequest
0 голосов
/ 21 сентября 2019

Я столкнулся с проблемой.Я использую 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 есть разрыв страницы?

...