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

时间:2017-10-10 21:15:42

标签: php excel xlsx opentbs tinybutstrong

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

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

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

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

谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

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