使用 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)";
我在使用 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)";