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

时间:2017-01-25 08:55:56

标签: 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(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault, articoli);
artRange.Formula = artRange.Value;
错误发生异常:Eccezione da HRESULT:0x800A03EC

我试图把" VLOOKUP"而不是" CERCA.VERT"这是我的语言,但没有结果。 我把文件的完整路径,但它在字符串中放入双反斜杠,如" c:\ aaaa \ bbbb ...."是不是?

我生气了。救命 谢谢。

2 个答案:

答案 0 :(得分:0)

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

artRange.FormulaR1C1Local = artRange.Value;

用excel国家/地区语言翻译公式。 它运作良好,而且速度不慢。 我唯一要做的就是让程序不要问我VLOOKUP文件的路径(CERCA.VERT)。

答案 1 :(得分:0)

你有没有试过像:

YourSheet.Cells.Formula = string.Format("your formula here");

或只是

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

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