我可以可靠地从Linux服务器上的PHP应用程序创建Excel文档吗?

问题描述:

什么是从Linux服务器上的PHP应用程序生成Excel文档的状态?我可以可靠地从Linux服务器上的PHP应用程序创建Excel文档吗?

我很喜欢创建Office 97(xls)Excel文件。我对这个问题的有限研究已经发现了这个Pear package。它似乎自2006年以来处于测试版状态。

您可以分享您的成功或失败从PHP生成Excel文件?有没有可靠和成熟的工具可用?

更新:对于这个应用程序,我确实需要生成一个Excel文件,而不仅仅是一个CSV文件。

这里有比PEAR包更好的东西!

PHPExcel

我已经使用了PEAR包,它对我的​​Office'97 -2000兼容文件非常有用。

如果它是一个简单的电子表格,Office也可以处理CSV,哪个PHP可以output natively and easily

+0

我只是评论你的个人资料......在罗切斯特,纽约地区的另一个SOER ...我已经发现迄今3。 – 2008-10-22 14:48:29

如何使用表(电子表格是一个表,所以没关系),并在PHP脚本产生的表(一个或多个)上投掷这些行:

header("Content-Type: application/vnd.ms-excel"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 

或者你也可以产生一个CSV文件,因为Excel可以很好地打开这些文件。

+0

我想我以前在ASP应用程序中看到过这一点。它似乎可以正常工作,但与技术限制中的CSV一样。我认为Excel也可能会警告你关于不一致的文件类型。 – Nick 2008-10-22 14:48:38

现在一切都处于测试状态。你是否真的需要excel文件与论坛和所有这些,或者你只需​​要在Excel中打开一个记录列表来处理?

我发现当客户想要一个Excel文件时,我真的可以生成一个CSV文件,他们可以在Excel中处理它,并在事后添加他们想要的公式。

最简单的方法确实是使用头来“伪造”一个Excel文件。下面是以Excel文件形式开始下载的代码,客户端的Excel只会解析找到的任何HTML代码(表格,csv,...)并以类似Excel的格式显示它。

header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=excel.xls"); 

我已经使用了很多成功的PEAR包,但是在实现复杂公式时有一些限制。它与Excel存储公式的方式以及最后计算的结果有关。有时即使公式是正确的,当第一次打开工作表时,单元格显示为空。一旦细胞有焦点然后失去焦点,就会执行计算并填充单元格。

该库实际上是一个来自perl库的端口,它稍微更完整,但具有相同的问题。

我已经在几个proyects中使用PERL Spreadsheet :: WriteExcel没有问题。您可能需要制作一些修复程序和包装以增强功能并使其更容易,但我发现它确实无疑。

我喜欢它,因为它的平*立,快速和容易设置。