PHP Excel Header

2022-08-31 00:10:32
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"

这是使用php编写和下载xsl文件的代码,
我的问题是当我打开Excel文件MS-Excel在打开文件之前显示警告说

您尝试打开的文件的格式与文件扩展名指定的格式不同...啪啪啪

如何处理 PHP 代码来删除此警告?内容写得正确。

我知道这是因为写入文件的内容是txt文件内容,文件扩展名不正确,即xls。溶液?

请不要建议使用任何库。


答案 1

您给出了多个标头。 就足够了。Content-Typeapplication/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

答案 2

试试这个

header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment;filename=\"filename.xlsx\"");
header("Cache-Control: max-age=0");

推荐