将这一行放入 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)”不起作用,因为双“”“

使用转义字符'" 这会将"读取为字符串

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 使用逗号或分号,具体取决于安装它的计算机的系统语言设置。