Excel 2013 .xlsx файлы не открываются

1366
Sam Swift 웃

Я пытаюсь открыть файл, который я создал сам через веб-API, который я сделал для PHP. Файл создан и успешно загружен, но когда я открываю его, я получаю эту ошибку:

Excel не может открыть файл «filename.xlsx», потому что формат файла или расширение файла недопустимо. Убедитесь, что файл не был поврежден и что расширение файла соответствует формату файла.

Я могу использовать файлы .xls идеально, но не .xlsx.

Есть идеи?

0
Вероятно, что-то не так с тем, как вы создаете файл. DavidPostill 8 лет назад 0
@DavidPostill, что ты имеешь в виду? Sam Swift 웃 8 лет назад 0
Вы создали файл, формат которого не соответствует определенному для `.xlsx` DavidPostill 8 лет назад 0
@DavidPostill, значит, создатель не прав! Это все объяснит ... Пора еще раз взглянуть! Sam Swift 웃 8 лет назад 0
@Raystafarian, изменив его на .zip не работает, он загрузил, но не смог открыть Sam Swift 웃 8 лет назад 0
@Raystafarian, как я уже сказал в своем вопросе, .xls работает отлично, но спецификация клиента для .xlsx Sam Swift 웃 8 лет назад 0
Нет способа узнать, что не так, не видя, как ваш API создает файл. Это может быть вопрос переполнения стека, если бы он был более понятным. Raystafarian 8 лет назад 0
@Raystafarian, если это поможет, я спрашивал об этом API [здесь] (http://stackoverflow.com/questions/34041072/using-php-for-a-class-to-make-files-and-directories) это симпатия к этому Sam Swift 웃 8 лет назад 0
Файлы .xls полностью отличаются от файлов .xlsx - последний хранит контент как контейнер, а первый - нет. Raystafarian 8 лет назад 0
Правильно. Я сделаю некоторые исследования! Sam Swift 웃 8 лет назад 0

1 ответ на вопрос

1
Skrol29

I can use .xls files perfect, but not .xlsx.

XLS files and XLSX files are two different formats. Excel cannot open an XLS files with a wrong extension .xlsx and it cannot open an XLSX file with the wrong extension .xls.

XLS is a proprietary binary format, while XLSX is an opened format based on XML files stored in a ZIP archive (just like LibreOffice).

If Excel does open the XLS file, then the file is XLS encoded. So if you client specification is for XLSX then you have to change your code.

As your code is in PHP, of course I suggest TBS + OpenTBS. It works with the technical of templates.

Похожие вопросы