如何从Excel中的Javascript Api编写独立于用户语言的公式?

如何从Excel中的Javascript Api编写独立于用户语言的公式?,excel,office-addins,office-js,excel-2016,javascript-api-for-office,Excel,Office Addins,Office Js,Excel 2016,Javascript Api For Office,我所做的: var myTable = new Office.TableData(); ..... var y = []; y.push(...); ..... y.push('=SUM(Test[@[364]:[0]])/365'); y.push(...); ..... myTable.rows.push(y); 后来 binding.addRowsAsync(myTable.rows, function (addResult){....}); 如果用户在Excel中使用英语,现在一切都

我所做的:

var myTable = new Office.TableData();
.....
var y = [];
y.push(...);
.....
y.push('=SUM(Test[@[364]:[0]])/365');
y.push(...);
.....
myTable.rows.push(y);
后来

binding.addRowsAsync(myTable.rows, function (addResult){....});
如果用户在Excel中使用英语,现在一切都正常了。但如果他使用德语,就会出现“NAME?”,因为在德语中SUM必须是sume。 如何从Javascript Api编写独立于用户语言的公式

或者可能的问题是:我能用德语作为标准语言在Excel中用英语写一个公式吗

编辑

我将标记迈克尔·兹拉特科夫斯基的答案,因为它正在发挥作用。但我没有用它。问题是,我得到了很多“参数无效或丢失或格式不正确”

我在报告中提出了同样的问题,建议使用或找到语言,并使用不同的公式。但这不可能是普遍的

我现在使用的是在一些表格和一些单元格(隐藏)中写入公式,然后在另一个单元格中使用FORMULATEXT来获得正确的公式。例如,如果单元格P2中有以下公式:

=COUNTIF(Test[@[364]:[0]];"<=0")
加载excel工作表后,您将得到正确语言的公式,我将直接在表中使用它。尽管公式中有错误,它还是被翻译了。这里是德语:

=ZÄHLENWENN(Test[@[364]:[0]];"<=0")
=ZÄHLENWENN(Test[@[364]:[0]];“Office.js Excel API(像前面的VBA)是不受语言/区域设置影响的。也就是说,当您将公式设置为
范围.formulas
时,它只用于解释英语输入(这就是为什么我们还有
range.formulasLocal
,对应于公式的特定于区域设置的版本)。因此,您所描述的行为,即设置
SUM
,并期望德语Excel将其解释为
SUMME
,绝对是应该的

有几个问题可以帮助我们对此进行调查:

1) 您是否可以尝试设置
range.formulas
,而不是通过表格值设置公式


2) 如果可以的话,那么设置
range.values=yourFormula
怎么样?我假设这应该像#1一样工作,但只是想确定一下。

只是猜测,但我认为您是在修改单元格文本而不是公式。试着深入研究单个单元格的formulas属性。
=ZÄHLENWENN(Test[@[364]:[0]];"<=0")