Php 从html到xls的生成。警告";文件格式与文件扩展名指定的格式不同;
生成的xls文件打开时(在MS Excel 2013中)出现警告 文件格式与文件扩展名指定的格式不同 指定 ,如果按“是”-文件完全打开,但我希望没有此警告。 代码片段:Php 从html到xls的生成。警告";文件格式与文件扩展名指定的格式不同;,php,excel,warnings,xls,Php,Excel,Warnings,Xls,生成的xls文件打开时(在MS Excel 2013中)出现警告 文件格式与文件扩展名指定的格式不同 指定 ,如果按“是”-文件完全打开,但我希望没有此警告。 代码片段: header("Content-Type: application/vnd.ms-excel; charset=windows-1251"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); h
header("Content-Type: application/vnd.ms-excel; charset=windows-1251");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Content-Disposition: attachment; filename=filename.xls);
echo<<<HTML
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
</head>
<body>
<table border="1" cellspacing="0" cellpadding="0">
/* many lines */
</table>
</body>
</html>
HTML
die();
标题(“内容类型:application/vnd.ms-excel;字符集=windows-1251”);
标题(“到期日:0”);
标头(“缓存控制:必须重新验证,后检查=0,前检查=0”);
标题('Content-Disposition:attachment;filename=filename.xls);
echo根据Microsoft的支持页面:
警告消息是添加到的用户通知功能
Excel 2007。警告消息有助于防止意外问题
这可能是因为
文件的实际内容和文件扩展名
因此,有了这个,您的问题在于您正在将文件扩展名为.xls的HTML内容保存为.xls,因此,Excel将始终引发该警报,因为文件内容与文件扩展名不同,无论您指定的内容类型如何
请参阅:可能重复的原因是生成的xls文件不是本机格式的BIFF文件,而是简单的html标记。。。。所以Excel女士知道你在告诉它porkie pies试图假装它是xls文件。解决方案是要么说实话,对文件使用html扩展名,要么创建一个真正的BIFF格式xls文件