Мне нужно заменить переменные в файле xlsx, отправленном пользователем, и я делаю это следующим образом:
- Переименование .xlsx в .zip
- Распакуйте в временную папку
- Внесите необходимые изменения
- Архивируйте файлы
- Переименуйте .zip в .xslx
Я использую обычный ZipArchive в PHP.Когда я пытаюсь открыть сгенерированный .xlsx в Excel, происходит сбой с сообщением format or extension invalid
.Когда я сжимаю временные файлы с помощью WinRAR (как zip) и переименовываю полученный файл в .xlsx, это работает.Файлы zip, созданные обоими методами, содержат одинаковую структуру данных и файлы, но файл WinRAR немного больше (10,2 КБ против 10,3 КБ при обычном сжатии).
При просмотре искаженного кода файлов ямог видеть, что файлы появляются в другом порядке, но не знаю, в этом ли причина.Любая подсказка будет принята с благодарностью.