把这条线放入excel.Formula“= IF(C4 =”x“; 1; 0)”因为双“`”

我想把这行放入一个excel单元格与c#: =IF(C4 = "x";1;0)

但是当我input:.Formula = "=IF(C4 = "x";1;0)" ,它将句子分成2个单独的部分,因为双重" ,任何想法如何解决?

预先感谢

使用转义字符\"这将读取"作为一个string

您可以使用转义符\来转义每个单独的字符:

range.Forumula = "=IF(C4 = \"x\",1,0);"

或者,您可以通过在string之前添加@字符来将块指定为string:

range.Formula = @"=IF(C4 = "x",1,0)";

只要小心使用string文字,因为它们将禁止字符一起转义:

Console.WriteLine("Hello,\tWorld"); //prints: Hello, World

Console.WriteLine(@"Hello,\tWorld"); //prints: Hello,\tWorld

有关string文字的更多信息: https ://msdn.microsoft.com/zh-cn/library/aa691090( v= vs.71) .aspx

Excel使用另外一个注意事项来分隔公式中的参数,而不是; 就像你在你的例子中

Excel使用逗号分隔参数,而不是分号。

使用反斜杠\退出引号。

将其更改为: "=IF(C4=\"x\",1,0)"

您可以使用ASCII字符

 'VB.NET: "=IF(C4 = " & Chr(34) & "x" & Chr(34) & ",1,0)" 'C#: "=IF(C4 = " + Char.ConvertFromUtf32(34) + "x" + Char.ConvertFromUtf32(34) + ",1,0)"; 'VBA: "=IF(C4 = \"x\",1,0)" 

ASCII字符数字34是双引号。

要注意的是,根据安装的计算机的系统语言设置,excel使用逗号或分号。