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

问题描述 投票:2回答:2

在我的项目中,我必须将公式填充到Excel工作表的单元格中。要做到这一点,我使用qazxsw poi库。

代码本身非常简单

Microsoft.Office.Interop.Excel

就是这样。 (因为我住在德国,我的excel版本将“Summe”理解为“SUM”

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

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

我尝试了以下步骤:

  • 调用 设置公式后的mySheet.Calculate()。 (不工作)
  • 改变功能。一些其他功能(更简单的功能)工作正常。但不是我的......

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

谢谢!

详细信息:Excel版本:2016 Windows 10

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

c# excel excel-interop
2个回答
0
投票

我有同样的问题,但用西班牙语的公式。 我的解决方案是2部分:

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

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

2)用英语写公式:

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

0
投票

我不是在我的开发计算机上验证这一点,但是我认为如果你将第二行改为......

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

你可能得到你想要的结果。

© www.soinside.com 2019 - 2024. All rights reserved.