Заголовок PHP Excel - PullRequest
       11

Заголовок PHP Excel

14 голосов
/ 25 марта 2012
header("Content-Type:   application/vnd.ms-excel; charset=utf-8");
header("Content-type:   application/x-msexcel; charset=utf-8");
header("Content-Disposition: attachment; filename=abc.xsl"); 
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
echo "Some Text"

Вот код для написания и загрузки xsl-файла с использованием php,
моя проблема в том, когда я открываю файл excel

Файл, который вы пытаетесь открыть, имеет другой формат, чем указано в расширении файла ... Blah blah

Что делать с PHP-кодом для удаления этого предупреждения? Содержание написано правильно.

Я знаю, что это потому, что содержимое, записанное в файле, является содержимым файла txt, а расширение файла неверно, то есть xls. Решение

Пожалуйста, не предлагайте использовать какую-либо библиотеку.

Ответы [ 3 ]

31 голосов
/ 25 марта 2012

Вы даете несколько Content-Type заголовков. application/vnd.ms-excel достаточно.

И есть пара синтаксических ошибок тоже. Завершение оператора с ; в операторе echo и неправильном расширении имени файла.

header("Content-Type:   application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=abc.xls");  //File name extension was wrong
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
echo "Some Text"; //no ending ; here
8 голосов
/ 25 марта 2012

Попробуйте это

header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment;filename=\"filename.xlsx\"");
header("Cache-Control: max-age=0");
0 голосов
/ 21 января 2018

Просто попробуйте добавить exit; в конце вашего PHP-скрипта.

...