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 MS-Excel, предупреждающий перед открытием файла.
Файл, который вы пытаетесь открыть, находится в другом формате, чем указано в расширении файла … Blah blah
Что делать с кодом PHP, чтобы удалить это предупреждение? Содержание написано правильно.
Я знаю, это потому, что содержимое, записанное в файле, является содержимым файла txt, а расширение файла неверно, то есть xls. Решение?
Пожалуйста, не предлагайте использовать какую-либо библиотеку.
Вы предоставляете несколько заголовков 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
Попробуй это
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); header("Content-Disposition: attachment;filename=\"filename.xlsx\""); header("Cache-Control: max-age=0");