在OpenOffice电子表格文件上写多个工作表

时间:2012-03-02 10:15:35

标签: php openoffice-calc

我正在尝试解决如何编写PHP以便在OpenOffice电子表格文件(AKA ods)上执行包含多个工作表的报表。现在我使用此代码生成OpenOffice电子表格报告,但它只能显示一个表:

<?php
// Export Calc SpreadSheet
header("Content-Type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename="Report.ods"');
?>

我如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

有很多库可以在PHP中用来创建,编辑和提供电子表格文件,或者工作簿(它们是工作簿的集合......实际上电子表格文件是工作簿,即使它只是一张纸)。有很多众所周知的,还有一些不那么知名的。

大多数人会指出这些:

对于像这样的问题还有一些答案,但是有一些令人生畏的库和选项。

我个人选择在PHP中使用简单的小型openDocument格式编辑器是ods-php,它是您在应用程序中包含的单个php文件,并进行实例化。我的用途不是创建ODS文档,而是编辑模板文件和提供编辑过的文档。您必须编写自己的头文件并在PHP应用程序中回显自己函数中的文件内容,但这并不难。

ods-php下载中包含一个[非常]基本示例php文件,其中显示了一些函数,但如果您可以遵循基本的PHP逻辑,则可以查看库源并找出其可用的函数。我说它会对你需要的东西做得很好。

另一方面,如果您希望拥有更大的API,并且您的服务器足以处理它,我建议其他三个中的任何一个。请记住,相比之下,其他三个相当大,每个都有自己的优点和缺点:

PHPExcel可能是免费社区使用最多的,并且经常在github上维护(最后在6天前搞砸了),但是非常大。文档可以在github网站上找到(我提供了他们的旧链接,链接到他们的github)。

Spreadsheet_Excel_Writer是来自Pear的工具,虽然它不再被维护,但它同样大,所以有什么是&#39; as-is&#39;。 Pear团队正在寻找接管维护的人,但据我所知,工作有什么用。

openTBS是TBS引擎(TinyButStrong)的单类库扩展。您必须安装TBS才能使用openTBS,并且启用zlib以获得文件的压缩功能是一个非常好的主意。如果你使用openTBS,你不仅可以制作基于xml的文档,而且可以获得整个TBS引擎的功能,如果你想将html源模板与你的php脚本合并,这是非常好的(看看网站,它可能为你打开一些新的领域。)

肯定有更多的库和工具,但这些是我在搜索中发现的最值得注意的。我的选择是由驱动力引导,以保持我的服务器小而独立(它在树莓派上运行)。如果我选择一个庞大的生产环境API,我可能会选择PHPExcel,因为它有所需的支持,以便与M $&#39;保持同步。不断适应的格式。