把这条线放入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使用逗号或分号。