2009-06-10 30 views
1

我使用PHP这样创建一个Excel文件:PHP的Excel创建 - 无效的文件类型

header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=invoice.xls"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
echo "<table><tr><th>Test</th></tr><tr><td>...</td></tr></table>"; 

当我尝试打开该文件时,Excel会发出警告,该文件类型是不正确的。然而,文件显示正确,完全像我想要的...

有没有办法来防止这个错误消息显示?

回答

1

最好的方法是为自己创建一个Excel文件并将其保存为HTML,然后在某个文本编辑器中打开它并查看垃圾。您将最终找到要在PHP脚本中输出的内容,以便Excel不会抱怨文件类型和扩展名。

+0

谢谢,我会尝试...除非别人能告诉我什么'垃圾'我应该包括在我的PHP文件... – Fortega 2009-06-10 08:31:25

+0

最简单的复制格式是Excel XML文件 - 所以如果你打算采取这种方法,我建议复制它。 – BrynJ 2009-06-10 08:49:15

0

你正在生成的文件输出并不是真正的excel格式,所以excel是正确的抱怨它。有几个用于制作excel文件的php软件包,如phpexcel.net。另一种选择是将该文件提供为“普通”.html文件,并指示用户在Excel中打开它。

希望这会有所帮助!

0

你可以尝试制表符分隔格式 我不知道这是否会抱怨加载与否 如回声“$山坳\ T $山坳\ T $山坳\ T $山坳\ n”个

我也有使用梨练成一代库 他们产生BIFF格式的Excel文件, 这是很简单的使用,你会得到单元格的格式以及 例如字体,大小,颜色控制等