将这一行放入 Excel 中.公式“=IF(C4 = ”x“;1;0)”不起作用,因为双“”“
本文关键字:不起作用 因为 C4 一行 Excel 公式 IF | 更新日期: 2023-09-27 17:57:06
我想用 c# 将这一行放入 excel 单元格中:=IF(C4 = "x";1;0)
但是当我输入:.公式 = "=IF(C4 = "x";1;0)"
,它将句子切成 2 个单独的部分,因为双"
,知道如何解决这个问题吗?
提前致谢
使用转义字符'"
这会将"
读取为字符串
Excel 使用逗号分隔参数,而不是分号。
使用反斜杠'
转义引号。
将其更改为:"=IF(C4='"x'",1,0)"
您可以使用转义字符'
转义每个单独的字符:
range.Forumula = "=IF(C4 = '"x'",1,0);"
或者,您可以通过在字符串前添加@
字符来将块表示为字符串文本:
range.Formula = @"=IF(C4 = "x",1,0)";
小心使用字符串文字,因为它们将一起禁用字符的转义:
Console.WriteLine("Hello,'tWorld"); //prints: Hello, World
Console.WriteLine(@"Hello,'tWorld"); //prints: Hello,'tWorld
有关字符串文本的详细信息:https://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx
还有一点需要注意的是,Excel 使用,
来分隔公式中的参数,而不是像示例中那样;
。
您可以使用 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 使用逗号或分号,具体取决于安装它的计算机的系统语言设置。