PHP Excel создание - неверный тип файла - PullRequest
1 голос
/ 10 июня 2009

Я создаю файл Excel, используя php следующим образом:

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=invoice.xls");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
echo "<table><tr><th>Test</th></tr><tr><td>...</td></tr></table>";

Когда я пытаюсь открыть файл, Excel выдает предупреждение, что тип файла неверный. Однако файл отображается правильно и точно так, как я хочу ...

Есть ли способ предотвратить появление этого сообщения об ошибке?

Ответы [ 3 ]

1 голос
/ 10 июня 2009

Лучший способ - создать файл Excel для себя и сохранить его как HTML, затем открыть его в каком-нибудь текстовом редакторе и взглянуть на мусор. В конечном итоге вы узнаете, что выводить в своем скрипте PHP, чтобы Excel не жаловался на типы и расширения файлов.

0 голосов
/ 10 июня 2009

вы можете попробовать формат с разделителями табуляции я не уверен, будет ли он жаловаться на загрузку или нет например, echo "$ col \ t $ col \ t $ col \ t $ col \ n"

я также использовал библиотеки поколения pearl excel они генерируют файлы формата BIFF Excel, он довольно прост в использовании и вы также можете контролировать форматирование ячеек например, шрифт, размер, цвет и т. д.

0 голосов
/ 10 июня 2009

Файл, который вы генерируете, на самом деле не в формате Excel, поэтому Excel вправе жаловаться на это. Существует несколько пакетов php для создания файлов Excel, например phpexcel.net . Другим вариантом было бы предложить файл в виде «обычного» файла .html и попросить пользователей открыть его в excel.

Надеюсь, это поможет!

...