1

最近我一直在通过PHPExcel组合多个 OpenXML 电子表格,这向我展示了这个框架存在某些问题,这使得它几乎无法用于我想做的事情(我的相关 SO 问题)。

简而言之:很难保证 Excel 2007 的所有格式化功能都会保留使用该特定框架执行的文件合并。

无论如何,现在我正在考虑一种更通用的方法。我想打开一个包含各种格式的模板 XLSX,并在工作簿的“末尾”添加一些纯字母数字数据工作表。

明智地可以执行以下操作:

  • 解压模板 XLSX
  • 解析 XML 文件
  • 添加工作表
  • 保存xml文件
  • 重新压缩文件以获得有效的 XLSX

任何提示或经验将不胜感激。

提前致谢

ķ

4

1 回答 1

1

我没有过多地使用 .xlsx,但我已经通过手动添加和编辑 XML 来更改 .docx 文件。

向文档添加新部分的最大问题是确保更新 .rels 文件。找出需要更新的内容的最佳方法是在 Excel 中创建一个新的 .xlsx 文档,添加工作表,保存文件,然后解压缩以查看更改的内容。如果您想查看文件的内部结构而无需解压缩,也可以使用 OpenXML SDK 附带的 DocumentReflector 工具。

我发现OpenXML 参考手册在手动编辑文件时非常有用,因为它告诉您必须保留哪些元素以及哪些元素是可选的以制作有效的文档。当您可以删除 Excel 自动添加的一些无关元素时,使用它会更容易。

于 2009-12-17T19:43:57.030 回答