0

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

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

我该如何解决这个问题?

4

1 回答 1

0

有许多库可以在 PHP 中用于创建、编辑和提供电子表格文件或工作簿(它们是工作表的集合......实际上电子表格文件是一个工作簿,即使它只是单张)。有非常知名的,也有一些不太知名的。

大多数人会指出这些:

像这样的问题还有更多的答案,但是有大量的库和选项。

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

ods-php 下载中包含一个 [非常] 基本的示例 php 文件,其中显示了一些功能,但如果您可以遵循基本的 PHP 逻辑,您可以查看库源并找出其可用功能。我会说它可以满足您的需要。

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

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

Spreadsheet_Excel_Writer 是 Pear 的工具,虽然不再维护,但也一样大,所以“原样”。Pear 团队正在寻找人来接管其维护工作,但据我所知,有什么可以工作的。

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

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

于 2015-11-21T08:13:02.377 回答