Office js 将公式设置为整个范围的office js(excel)

Office js 将公式设置为整个范围的office js(excel),office-js,Office Js,我正在尝试使用OfficeJS将公式应用到excel中的整个范围。但该公式仅适用于第一个单元格,而不适用于范围。这是我正在使用的代码。同样适用于VSTO,并应用公式 Excel.run(async (context) => { const sheet = context.workbook.worksheets.getItem("Sample"); const range = sheet.getRange("C5:C100));

我正在尝试使用OfficeJS将公式应用到excel中的整个范围。但该公式仅适用于第一个单元格,而不适用于范围。这是我正在使用的代码。同样适用于VSTO,并应用公式

Excel.run(async (context) => {
 const sheet = context.workbook.worksheets.getItem("Sample");
 const range = sheet.getRange("C5:C100));                                 
 range.formulas = [[ =A5 + B5 ]];
 await context.sync();
}

我希望将公式应用于表中的整个范围或整个列,而不是仅应用于第一个单元格。如果可能的话,请告诉我。

是的。这是可能的。但公式被认为是细胞的特征,而不是范围。因此,您需要为每个单元格设置公式。您需要创建一个数组数组,其中每一行都有一个内部数组,因此指定给range.formulas的数组实际上与:
[[[=A5+B5],=A6+B6],=A7+B7]…]相同。
。但是,您不需要手工编写此代码。您可以使用循环或其他迭代结构来生成数组数组。有关在Office外接程序示例中使用JavaScript映射函数执行此操作的示例,请参见,特别是第318行。

谢谢。即使在excel表格中,我们是否需要重复公式(如上所述)?请让我知道…这好像在桌子里工作。我们不需要像在范围中那样做公式数组。但是在粘贴数据之后,当我们在表场景中为特定列(第一个单元格)设置公式时,这工作正常,公式将应用于整个列。例如,const formulaRange=activeSheet.getRange(formulaCell)//formulaCell-表格formulaRange.formulas=[[]]中的第一个单元格;wait context.sync();