首页 文章

C# - 使用包含双引号的公式设置excel单元格

提问于
浏览
0

我正在尝试通过c#代码设置excel单元格的公式 . 我使用Microsoft.Office.Interop.Excel,版本14.我总是得到一个excel错误0x800A03EC,这是一种通用错误 .

String formula = "=IF(A2=\"BLANCO\";\"\";C1+1)"    

Range cell = (Microsoft.Office.Interop.Excel.Range)ws.Cells[2, 3];
cell.Formula = formula;

我也尝试用@来逃避双引号

String formula = @"=IF(A2=""BLANCO"";"""";C1+1)"

同样的错误,同样的问题 .

当我尝试设置一个简单的公式时,没有涉及引号,它工作正常 .

有人有解决方案吗?

1 回答

  • 0

    没有太多的代码上下文,但斜杠应该适当使用时工作 . 我不确定这里使用分号 .

    这段代码是我的一个Interop程序直接拉出的一个例子,工作正常: thisExcel.xlWorksheet.Range["AD44", Type.Missing].Value = "=IF(BULK!L7=\"#N/A Field Not Applicable\",\"( \"&'Title Look Up'!C3&\" )\",\"( \"&'Title Look Up'!C3&\" )\")";

    如果你想要的只是:'if a2 reads blanco then nothing else increment value of c1 by 1',那么你只需要: =IF(A2=\"BLANCO\",\"\",C1+1)

    我也会尝试使用.Value而不是.Formula .

    希望有所帮助

相关问题