在我的项目中,我必须将公式填充到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:这是我的第一个问题。所以,如果你有一些关于这方面的问题,我也会很高兴!
答案 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 + ")";