2

我目前正在使用 TinyButStrong 的 Excel 插件来创建大量定期发送的 Excel 文档。我被要求将信息分成单独的工作表,在一个 Excel 文档中,每个报告可能有不同数量的工作表(所以我不能只在模板文件中使用多个工作表,因为工作表的数量是不可预测的) .

我可以轻松地创建单独的 Excel 文档并使用命名约定来确定要合并哪些 Excel 文档,但我找不到使用 TinyButStrong Excel 合并文档的方法。

注意:由于我们的环境,PHP Excel 不是一个选项。

如果您知道合并多个 Exc3el 文档或以编程方式创建一个 Excel 文档,其中包含从单个工作表模板创建的多个工作表,请告诉我。

谢谢你。

4

1 回答 1

2

目前,您无法将多个 XLSX 文档合并为一个。这是因为尽管使用 OpenTBS 可以读取工作表 XML 源文件,但您不能简单地将 XML 从 XLSX 源文件复制到另一个 XLSX 目标文件中,因为此类 XML 使用多个内部 id 来表示样式、注释、打印设置……这些 id存储在 XML 源文件中的复杂位置。所以这样一个简单的拷贝会产生一个无效的目标 XLSX 文件。

另一点是 OpenTBS(目前)无法在 XLSX 中创建新工作表。它只能修改、删除或隐藏模板中的现有工作表。

因此,您的问题的解决方案是拥有一个 XLSX 模板文件,其中包含您在最终 XLSX 文件中可能拥有的所有可能的工作表。然后您可以合并想要的工作表(使用 OPENTBS_SELECT_SHEET)并删除不需要的工作表(使用 OPENTBS_DELETE_SHEETS)。

于 2017-10-10T22:24:02.137 回答