使用Office.js,如何在Excel中获得表格的准确样式

时间:2019-07-12 22:40:20

标签: excel office-js

我正在使用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文件来获取完整的样式信息,但我仍然希望有一个更好的解决方案。

1 个答案:

答案 0 :(得分:0)

您仍然可以从要处理的表中获取范围。例如, 变量范围= worksheet.getRange(“ A1:E1”)。

尽管“ A1:E1”是表的一部分,但是您仍然可以将该区域作为范围并进行进一步的操作。