2

我想在 Excel 单元格中写一个公式。我设法编写了简单的公式,但我对以下公式有疑问:

=IF(OR(ISBLANK(I20631);ISBLANK(F20631));"";I20631=F20631)

在我的 C# 程序中,它尝试了这个:

ExcelWorksheet.Cells[row, column] = "=IF(OR(ISBLANK(I" + row +");ISBLANK(F" + row +"));\"\";I"+ row +"=F" + row +")";

由于\“\”,我有一个例外(我想是的)

当我在 excel 单元格中写入时,Excel 无法将 \" 解释为双引号符号“而且我无法使用 Visual Studio 编写字符串而不写入 \”

是否有可能有另一种方法来使用 \" 编写带有双引号字符的字符串?(我也尝试过",但它仍然被解释为 \" )

先感谢您,

托马斯

4

2 回答 2

1

是的,在字符串前加一个@。这将“禁用”转义字符\。唯一启用的是使用两个双引号,这将转换为一个双引号。

例子:

 "I said: \"Hello!\""

等于:

 @"I said: ""Hello!"""

等于:

 "I said: " + (char)34 + "Hello!" + (char)34

打印时将产生:

 I said: "Hello!"

请注意:无论您如何格式化字符串,调试器都会始终将您的字符串显示为第一个字符串,并带有\. 这并不意味着这些反斜杠是字符串的一部分,它只是一种显示它们的方式。

于 2013-04-29T12:06:57.460 回答
0

正如 Roy 所提到的,如果您像以前那样转义,编译器应该采用不带反斜杠的字符串,但是您也可以尝试使用 Martin 提到的 Verbatim String Literal..

有关它们的示例,请参见MSDN

于 2013-04-29T12:15:14.300 回答