使用EPPlus使用IF语句时失败

时间:2017-02-05 04:29:53

标签: c# excel epplus

使用带有EPPlus的If语句时遇到一些问题。我在Excel中的公式是这样的:

  

= IF(AND(L18<大于0,LEFT(E18,1)= “Z”),2,0)

我在C#中的代码就像这样

cart.Cells[5 + i, 9].Formula = "IF(AND(L" + (5 + i) + "<> 0,LEFT(E" + (5 + i) + ",1)= Z),2,0)";

问题出在LEFT(E18,1)= Z.如果我使用“”符号,C#会将其读作插入一些整数。但是,如果我不使用“”,Excel将不会将其作为字符串读取。任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

你必须转义Z旁边的内部字符串引号,即代替"Z",你应该使用\"Z\",如下所示:

cart.Cells[5 + i, 9].Formula = "IF(AND(L" + (5 + i) + "<> 0,LEFT(E" + (5 + i) + ",1)= \"Z\"),2,0)";