ExcelCom在#name中将公式写入单元格结果?

时间:2017-05-17 19:20:25

标签: c# excel excel-interop

在我的项目中,我必须将公式填充到ExcelSheet的单元格中。为此,我使用Microsoft.Office.Interop.Excel库。

代码本身非常简单

mySheet.Cells[1, 1] = SomeString;
mySheet.Cells[1, 2].Formula = "=SUMME($E$2:E" + SomeInteger + ")";

它已经存在了。 (因为我住在德国,我的excel版本理解" Summe" as" SUM"

现在查看excel表时,结果是#name?。 当单击进入单元格,并强制它更新时,它会完美计算。

  

我发现了一些与此相关的帖子,但是他们提供的链接   解决方案不再存在。 (并且大约10岁)

我尝试了以下步骤:

  • 致电

    mySheet.Calculate() 设定公式后。 (没用)

  • 更改功能。一些其他功能(更简单的功能)工作正常。但不是我的......

我很高兴收到你的消息 - 更有经验的人......

谢谢!

详细说明: Excel版本:2016 Windows 10

PS:这是我的第一个问题。所以,如果你有一些关于这方面的问题,我也会很高兴!

2 个答案:

答案 0 :(得分:0)

我没有在我的开发计算机上验证这一点,但我想如果你将第二行更改为......

mySheet.Cells[1, 2].Value2 = "=SUMME($E$2:E" + SomeInteger + ")";

您可以获得所寻求的结果。

答案 1 :(得分:0)

我也遇到了同样的问题,但是使用的是西班牙语公式。 我的解决方案分为两部分:

1)在初始化Excel Interop之前将文化更改为英语:

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
_AppExcell = new Microsoft.Office.Interop.Excel.Application();

2)用英语写公式:

mySheet.Cells[1, 2].Formula = "=SUM($E$2:E" + SomeInteger + ")";