Excel IF语句导致错误:来自HRESULT的exception:0x800A03EC

我正在C#中创build一个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$4;0)"; 

那么我得到这个错误:

来自HRESULT的exception:0x800A03EC

如果在Excel工作表中input上面的if语句,则工作是100%。 它只在C#中失败,并且当它碰到这行代码时抛出exception。

虽然本地化为Excel允许“;” 使用代替逗号,COM接口不注册“;” 应该用逗号代替。

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

有关本地化问题的更多信息,以及在编写Excel的互操作代码时的一些通用指针, 请参阅本部分的问答 。