使用 EPPlus 使用 IF 语句时失败

Failed When Using IF Statement using 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 将不会把它读作字符串。谁能帮我解决这个问题?

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

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