字符串格式的引号

本文关键字:格式 字符串 | 更新日期: 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);