我使用html生成xls文件,并且php everthing很好。 但问题是,当打开文件然后跟随错误显示
我的代码在这里:
$filename = "file.xls";
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header("Content-type: application/x-msexcel; charset=utf-8");
header("Content-Disposition: attachment;filename=".$filename); //tell browser what's the file name
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: max-age=0");
echo '<table>
<tr>
<th>heading1</th>
<th>heading2</th>
<th>heading3</th>
</tr>
<tr>
<td>data1</td>
<td>data2</td>
<td>data3</td>
</tr>
</table>';
答案 0 :(得分:1)
这是因为你写的数据。如果保存为.xls
,Excel需要格式正确的文件。您必须编写保留给Excel的显式数据,而不仅仅是HTML表。
为了防止弹出错误窗口,请将文件保存为.csv
而不是.xls
。
.xls
个文件是“二进制”文件,而不是您要输入的数据“基于文本”。这就是Excel在打开文件时提示您的原因。
您甚至可以使用.html
扩展程序保存它,这也可以,我试过了。
您可以使用的其中一个库叫做PHPExcel,可以在以下URL找到: