php - 如何使用 Tiny But Strong 的 Excel 插件合并多个 Excel 文档?

标签 php excel xlsx opentbs tinybutstrong

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

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

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

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

谢谢。

最佳答案

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

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

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

关于php - 如何使用 Tiny But Strong 的 Excel 插件合并多个 Excel 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46676167/

相关文章:

excel - 使用对象调用方法时未定义 VBA 变量

VBA,Excel如何设置特定样式而不使用它们的名称?

Java 从 Apache poi 获取 excel 单元格背景颜色

php - 如何选择默认值下拉菜单

javascript - 使用 setInterval 的 Ajax 调用不会从数据库获取新数据

php - 如何按特定的子数组值对多维数组进行分组?

perl - 修改 .xlsx 文件(Excel 2007 及更高版本)

php - 在重定向的情况下,如何使 php 的 curl 输出所有 http 请求(不仅是最后一个)?

vba - 折叠/展开部分中的行

xml - 将大型 XML 文件转换为 Excel