在PHP中创建XLS文件的最佳方法是什么

Met*_*lis 21 php csv xls

我目前正在尝试找出从PHP创建.xls文件的最佳方法.在我看来,我需要做的就是将标题内容类型更改为"application/vnd.ms-excel",然后以逗号分隔格式输出数据.这是最好的方法吗?

谢谢你的帮助!
都会

编辑

将数据输出为HTML会不会很糟糕?我已经有一个课程,我想扩展这个问题,所以我宁愿远离第三方解决方案.我只需要知道输出数据的最佳方法是什么,以便充分利用该文件格式.

在查看PHPExcel之后,它似乎是解决此问题的最佳解决方案.我很感谢你的所有答案,如果我能解决的话,我会给出三个正确的答案.但是投票必须要做:)

小智 15

its pretty easy, because excel supports html code. So you just need to add a header in the top of the file.. and then echo your html code!

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>";
Run Code Online (Sandbox Code Playgroud)

this will generate an excel file!

  • **这不是这个有效的方式**.这不是任何一种方法. - 只是将**假**MIME标题打到HTML输出上与Excel文件不同.打开带有不正确文件扩展名的HTML摘录只会在发出几个Excel警告后触发尽力导入功能.几乎不可靠. (5认同)

Mar*_*ker 14

取决于您是否需要CSV文件或XLS文件.XLS文件可以包括单元格的格式信息,以及行/列锁定,保护和CSV文件中不可能的其他功能.此外,请记住,打开CSV文件时Excel不能正确支持UTF-8编码的内容.

如果你想要一个格式化的XLS文件,那么你需要一个库,如PhpSpreadsheet,可以编写具有该格式的文件,或者如果你的服务器是在安装了Excel的Windows上运行的,则需要COM