我目前正在尝试找出从PHP创建.xls文件的最佳方法。在我看来,我所需要做的就是将头内容类型更改为"application/vnd.ms-excel",然后以逗号分隔的格式输出数据。这是最好的方法吗?
谢谢你的帮助!
大都市
编辑
仅仅将数据输出为HTML是不是很糟糕?我已经有一个我想要扩展的类来解决这个问题,所以我更喜欢远离第三方解决方案。我只需要知道输出数据的最佳方式是什么,以便最大限度地利用该文件格式。
在研究了PHPExcel之后,它似乎是这个问题的最佳解决方案。我很感谢你的所有答案,如果可以的话,我会给出三个正确的答案。但向上投票将不得不做:)
发布于 2010-06-28 22:52:49
取决于您需要的是CSV文件还是XLS文件。XLS文件可以包含单元格的格式信息,以及行/列锁定、保护和其他CSV文件中不可能实现的功能。此外,请记住,Excel在打开CSV文件时不能正确支持UTF-8编码的内容。
如果您想要一个格式化的XLS文件,那么您需要一个库,如PhpSpreadsheet,它可以以该格式写入文件;如果您的服务器运行在安装了Excel的Windows上,则需要一个COM库
发布于 2014-04-29 19:16:43
这很简单,因为excel支持html代码。因此,您只需在文件的顶部添加一个头文件。然后回显你的html代码!
header ( "Content-type: application/vnd.ms-excel" );
header ( "Content-Disposition: attachment; filename=foo_bar.xls" );
echo "<table><tr><th>Header1</th></tr><tr><td>value1</td></tr></table>";
这将生成一个excel文件!
发布于 2010-06-28 23:06:11
您可以使用Microsoft Office能够理解的XML formats之一。
有关详细信息/规格,请参阅微软的OpenXML Developer网站。
在上有一个名为PHPExcel的库,您可以查看它来帮助您完成此任务。
当然,这完全取决于你所说的:
“充分利用该文件格式”
如果您只有简单的表,没有格式,CSV文件可能就是您需要的全部;但是,如果您想使用电子表格的更多功能,我建议您看看OpenXML。
https://stackoverflow.com/questions/3133357
复制相似问题