Excel IF statement results in error: Exception from HRESULT: 0x800A03EC

Excel IF statement results in error: Exception from HRESULT: 0x800A03EC

我正在用 C# 创建一个 excel 报告。当我添加如下公式时,一切正常:

totalCellFormulaRange.Formula = "=SUM(AH7:AS7)"; //totalCellFormulaRange is a Range object from Microsoft.Office.Interop.Excel

但是现在当我尝试添加一个由如下 if 语句组成的公式时,

memberGuidesCellFormaulaRange.Formula = "=IF(LEFT(D7;12)=\"Welcome Pack\";O7*$AQ;0)";

然后我得到这个错误:

Exception from HRESULT: 0x800A03EC

如果在 Excel sheet 中输入上述 if 语句,则 100% 有效。它只在 C# 中失败,并且在遇到这行代码时会立即抛出异常。

尽管 excel 的本地化允许使用“;”使用代替逗号,COM 接口不注册“;”应该使用逗号代替。

memberGuidesCellFormaulaRange.Formula = "=IF(LEFT(D7,12)=\"Welcome Pack\",O7*$AQ,0)";

有关本地化问题的更多信息,以及为 Excel、.

编写互操作代码时的一些通用提示