c#Interop.excel Range.formula错误与VLOOKUP

c#Interop.excel Range.formula错误与VLOOKUP,c#,excel,excel-interop,C#,Excel,Excel Interop,我正在用VS 2015 c#开发,试图在一个单元格中加入一个公式。 公式是: articoli[contatorerighe, 3] = @"=CERCA.VERT(D" + (contatorerighe + cellaIniziale).ToString()+";'[Listino.xlsx]Listino'!A3:C"+ totrighe.ToString()+ ";3)"; 如果我把公式放在excel中,它会工作,但是当我尝试调用 artRange.set_Value(Microsof

我正在用VS 2015 c#开发,试图在一个单元格中加入一个公式。 公式是:

articoli[contatorerighe, 3] = @"=CERCA.VERT(D" + (contatorerighe + cellaIniziale).ToString()+";'[Listino.xlsx]Listino'!A3:C"+ totrighe.ToString()+ ";3)";
如果我把公式放在excel中,它会工作,但是当我尝试调用

artRange.set_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault, articoli);
artRange.Formula = artRange.Value;
出现异常并出现错误:Eccezione da HRESULT:0x800A03EC

我试着用“VLOOKUP”而不是“CERCA.VERT”这是我的语言,但没有结果。 我输入了文件的完整路径,但它在字符串中添加了双反斜杠,如“c:\aaaa\BBBBBB…”,对吗

我快疯了。帮助
谢谢。

更新:我找到了问题的解决方案(解决方案的一部分)。 要调用的方法是:

artRange.FormulaR1C1Local = artRange.Value;
用excel国家语言翻译公式。 它工作得很好,速度也不慢。
我必须尝试的唯一一件事是使该过程不询问VLOOKUP(CERCA.VERT)的文件路径。

您是否尝试过类似的方法:

YourSheet.Cells.Formula = string.Format("your formula here");
或者只是

YourSheet.Cells.Formula = "your formula here";

不确定这是否会有帮助,但希望会有帮助

公式化是解决方案!