字符串格式的引号
本文关键字:格式 字符串 | 更新日期: 2023-09-27 18:15:19
我需要一些字符串格式化和转义的帮助。从这个字符串格式开始:
string.Format("=如果(或({0}= " ";{1 ]=");";{ 0} -{1})",cell1、cell2)
我试图获得这个字符串:
=如果(或(L2 = " "; M2 = " "); "; L2-M2)
这是一个字符串,我需要插入作为一个excel公式。我尝试过string.Format
,我尝试过@"..."
,我甚至尝试过连接字符串片段并转义引号。无论我尝试什么,我总是得到这个字符串:
=如果(或(L2 = '"'";平方米 ='"'");'"'"; L2-M2)
这打破了我的excel文件,当我试图打开它。我不明白他们为什么呆在那里。
欢迎任何提示。谢谢。
int atCol = ws.Dimension.End.Column + 1;
//insert the header
ws.Cells[1, atCol].Value = "Diff. Quote letzte 2 Jahre";
ws.Cells[1, atCol].Style.WrapText = true;
for (int i = 2; i<=ws.Dimension.End.Row; i++)
{
var cell1 = ws.Cells[i, atCol + 1].Address;
var cell2 = ws.Cells[i, atCol + 2].Address;
//ws.Cells[i, atCol].Formula = string.Format("=IF(OR({0}='"{2}'";{1}='"{2}'");'"{2}'";{0}-{1})", cell1, cell2, string.Empty);
//ws.Cells[i, atCol].Formula = string.Format(@"=IF(OR({0}="";{1}="");"";{0}-{1})", cell1, cell2);
//string formula = string.Format(@"=IF(OR({0}="""";{1}="""");"""";{0}-{1})", cell1, cell2);
//string formula = @"=IF(OR(" + cell1 + "='"'";" + cell2 + "='"'");'"'";" + cell1 + "-" + cell2 + ")";
string formula = string.Format("=IF(OR({0}='';{1}='');'';{0}-{1})", cell1, cell2);
ws.Cells[i, atCol].Formula = formula;
}
我使用Win10, VS2015, . net 4.0和EPPLUS框架进行excel操作。
你只需要在前面加一个(")。
=IF(OR(L2="""";M2="""");"""";L2-M2)
字符串{1]=应该是{1}=有错误。下面展示了两种转义双引号的方法。
string.Format("=IF(OR({0}='"'";{1}='"'");'"'"({0}-{1})", cell1, cell2);
string.Format(@"=IF(OR({0}="""";{1}="""");""""({0}-{1})", cell1, cell2);