【发布时间】:2019-07-12 22:40:20
【问题描述】:
我正在使用 Office.js 为 Excel 创建加载项。
我能够获得范围内单个单元格的确切样式(填充颜色、字体大小、边框等),现在需要对表格单元格执行相同的操作。
我可以得到table's style,然后得到style's properties。但是,除了仅从 ExcelAPI 1.7 起才支持这一事实之外,它似乎只是笼统地描述了样式。也就是说,它似乎没有描述详细的表格样式属性,例如“第一行条纹”、“总行”等。
(请注意,获取表格的单个单元格样式并不适用于范围单元格。样式属性,例如 fill.color,如果单元格的样式来自表格基本样式没有被覆盖。)
我考虑过的事情:
- Convert the table to a range。但我想这会对工作表造成破坏,而且我看不到执行撤消的方法。
- 将表格转换为范围和back to a table again。这也是破坏性的,恐怕我无法像以前那样完全重新创建表格。
- Create a copy of the worksheet 然后将表格转换为范围。这可以工作,但它只是 ExcelAPI 1.7。
- 从文件的 OOXML 表示中读取原始样式信息
但我认为仅使用 Office.js 是不可能的。
关于如何仅使用 Office.js 并使用尽可能低的 API 版本获取 Excel 表格的确切样式信息有什么建议吗?
编辑:事实证明,我们确实可以使用 Office.context.document.getFileAsync 方法通过 Office.js 访问整个 .xlsx 文件。我会尝试通过阅读xl/styles.xml 文件来获取完整的样式信息,但我仍然希望有更好的解决方案。
【问题讨论】: