使用Office.js,如何在Excel中获得表格的精确样式
我正在使用Office.js为Excel创建外接程序 我能够获得范围中各个单元格的精确样式(填充颜色、字体大小、边框等),现在需要对表格的单元格执行相同的操作 我可以先拿到,然后拿到。然而,除了从ExcelAPI 1.7开始才支持这个事实之外,它似乎只是笼统地描述了样式。也就是说,它似乎没有描述详细的表样式属性,例如“第一行条纹”、“总行”等 (请注意,获取表格的单个单元格样式与获取范围单元格的样式不一样。如果未覆盖表格基础样式中的单元格样式,则样式属性(如使用Office.js,如何在Excel中获得表格的精确样式,excel,office-js,Excel,Office Js,我正在使用Office.js为Excel创建外接程序 我能够获得范围中各个单元格的精确样式(填充颜色、字体大小、边框等),现在需要对表格的单元格执行相同的操作 我可以先拿到,然后拿到。然而,除了从ExcelAPI 1.7开始才支持这个事实之外,它似乎只是笼统地描述了样式。也就是说,它似乎没有描述详细的表样式属性,例如“第一行条纹”、“总行”等 (请注意,获取表格的单个单元格样式与获取范围单元格的样式不一样。如果未覆盖表格基础样式中的单元格样式,则样式属性(如fill.color)不表示有效应用的
fill.color
)不表示有效应用的单元格样式。)
我考虑过的事情:
- 。但我想这会破坏工作表,我看不到执行撤消的方法
- 将表格转换为一个范围,然后单击“确定”。这也是破坏性的,我担心我无法完全重现以前的桌子
- 然后将表转换为范围。这可以工作,但它只是ExcelAPI 1.7
- 从文件的OOXML表示中读取原始样式信息,但我认为仅使用Office.js是不可能的
编辑:事实证明,我们确实可以使用该方法通过Office.js访问整个.xlsx文件。我将通过阅读
xl/styles.xml
文件来获取完整的样式信息,但我仍然希望有更好的解决方案。您仍然可以从要处理的表中获取范围。例如
Var range=worksheet.getRange(“A1:E1”)
虽然“A1:E1”是表的一部分,但您仍然可以将该区域作为一个范围,并执行进一步的操作 您仍然可以从要处理的表中获取范围。例如 Var range=worksheet.getRange(“A1:E1”)
虽然“A1:E1”是表的一部分,但您仍然可以将该区域作为一个范围,并执行进一步的操作 这是正确的,但正如我在问题中提到的,对于给定单元格或单元格组,已使用基本表格样式设置样式且没有其他样式替代(如边框、填充等)的表格单元格,将返回“空”样式信息。具体的表格单元格样式必须通过表格样式的定义来推断。感谢您的澄清。你说得对。当前未返回表格样式信息。我将把这个项目记录到团队中。似乎您的解决方案就是目前的解决方案。这是正确的,但正如我在问题中提到的,对于给定单元格或单元格组,已使用基本表格样式设置样式且没有其他样式替代(如边框、填充等)的表格单元格,返回“空”样式设置信息。具体的表格单元格样式必须通过表格样式的定义来推断。感谢您的澄清。你说得对。当前未返回表格样式信息。我将把这个项目记录到团队中。看来你的变通方法是目前的解决方案。