C# 使用EPPlus使用IF语句时失败

C# 使用EPPlus使用IF语句时失败,c#,excel,epplus,C#,Excel,Epplus,我在使用EPPlus使用If语句时遇到一些问题。我在Excel中的公式如下: =如果(和(L180,左(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)"; cart.Cells[5+i,9].Formula=“如果(和(L”+(5+i)+“0,左(E”+(5+i)+”,1)=Z),2

我在使用EPPlus使用If语句时遇到一些问题。我在Excel中的公式如下:

=如果(和(L180,左(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)";
cart.Cells[5+i,9].Formula=“如果(和(L”+(5+i)+“0,左(E”+(5+i)+”,1)=Z),2,0)”;

问题出在左(E18,1)=Z。如果我使用“”符号,C#将其读取为插入某个整数。但如果我不使用“”,Excel将不会将其作为字符串读取。有人能帮我解决这个问题吗?

您必须转义Z旁边的内部字符串引号,即,您应该使用
\“Z\
而不是
\“Z\”
,如下所示:

cart.Cells[5 + i, 9].Formula = "IF(AND(L" + (5 + i) + "<> 0,LEFT(E" + (5 + i) + ",1)= \"Z\"),2,0)";
cart.Cells[5+i,9]。公式=“如果(和(L)+(5+i)+”0,左(E)+(5+i)+”,1)=“Z\”,2,0)”;