Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Office.js,如何在Excel中获得表格的精确样式_Excel_Office Js - Fatal编程技术网

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

使用Office.js,如何在Excel中获得表格的精确样式,excel,office-js,Excel,Office Js,我正在使用Office.js为Excel创建外接程序 我能够获得范围中各个单元格的精确样式(填充颜色、字体大小、边框等),现在需要对表格的单元格执行相同的操作 我可以先拿到,然后拿到。然而,除了从ExcelAPI 1.7开始才支持这个事实之外,它似乎只是笼统地描述了样式。也就是说,它似乎没有描述详细的表样式属性,例如“第一行条纹”、“总行”等 (请注意,获取表格的单个单元格样式与获取范围单元格的样式不一样。如果未覆盖表格基础样式中的单元格样式,则样式属性(如fill.color)不表示有效应用的

我正在使用Office.js为Excel创建外接程序

我能够获得范围中各个单元格的精确样式(填充颜色、字体大小、边框等),现在需要对表格的单元格执行相同的操作

我可以先拿到,然后拿到。然而,除了从ExcelAPI 1.7开始才支持这个事实之外,它似乎只是笼统地描述了样式。也就是说,它似乎没有描述详细的表样式属性,例如“第一行条纹”、“总行”等

(请注意,获取表格的单个单元格样式与获取范围单元格的样式不一样。如果未覆盖表格基础样式中的单元格样式,则样式属性(如
fill.color
)不表示有效应用的单元格样式。)

我考虑过的事情:

  • 。但我想这会破坏工作表,我看不到执行撤消的方法
  • 将表格转换为一个范围,然后单击“确定”。这也是破坏性的,我担心我无法完全重现以前的桌子
  • 然后将表转换为范围。这可以工作,但它只是ExcelAPI 1.7
  • 从文件的OOXML表示中读取原始样式信息,但我认为仅使用Office.js是不可能的
关于如何仅使用Office.js和尽可能低的API版本获取Excel表格的确切样式信息,有什么建议吗



编辑:事实证明,我们确实可以使用该方法通过Office.js访问整个.xlsx文件。我将通过阅读
xl/styles.xml
文件来获取完整的样式信息,但我仍然希望有更好的解决方案。

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


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

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


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

这是正确的,但正如我在问题中提到的,对于给定单元格或单元格组,已使用基本表格样式设置样式且没有其他样式替代(如边框、填充等)的表格单元格,将返回“空”样式信息。具体的表格单元格样式必须通过表格样式的定义来推断。感谢您的澄清。你说得对。当前未返回表格样式信息。我将把这个项目记录到团队中。似乎您的解决方案就是目前的解决方案。这是正确的,但正如我在问题中提到的,对于给定单元格或单元格组,已使用基本表格样式设置样式且没有其他样式替代(如边框、填充等)的表格单元格,返回“空”样式设置信息。具体的表格单元格样式必须通过表格样式的定义来推断。感谢您的澄清。你说得对。当前未返回表格样式信息。我将把这个项目记录到团队中。看来你的变通方法是目前的解决方案。