在Excel中用C语言编写带双引号的公式带公式#

问题描述:

我想在Excel单元格中编写公式。 我设法写简单的公式,但我用下面的公式的一个问题:在Excel中用C语言编写带双引号的公式带公式#

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

在我的C#PROGRAMM它试图这样:

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

我因为\的exeption” “(我这么认为)

当我在excel单元格中写入时,Excel不能插入”作为双引号符号“ 而且我不能用Visual Studio编写字符串而不写入\“

是否有可能有另一种方式来使用\”?双引号字符删除字符串? (我阿洛斯尝试"但它仍然是解释为\”)

谢谢你在前进,

托马斯

+0

你有什么异常?我认为'+ row'更有可能给你一个异常,而不是'\''。尝试用'+ row.ToString()'替换'+ row'。 – 2013-04-29 12:07:27

+0

我将行改为row.tostring()和(char)34但我仍然有以下异常:System.Runtime.InteropServices.COMException未处理消息=异常来自HRESULT:0x800A03EC Source =“”ErrorCode = -2146827284 StackTrace:在System.RuntimeType.ForwardCallToInvokeMember(字符串memberName,BindingFlags标志,Object target,Int32 [] aWrapperTypes,MessageData&msgData) - – user2310493 2013-04-29 12:27:56

是,把一个@的字符串之前,这将‘禁用’转义字符。\已启用的唯一事情是使用两个双引号,这将转化为一个双引号

例:

"I said: \"Hello!\"" 

等于:

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

等于:

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

打印时将producte:

I said: "Hello!" 

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

正如罗伊提到,编译器应该采取的字符串没有反斜线,如果你逃跑像你这样,但你也可以给逐字字符串马丁提到一试..

他们的例子见MSDN ..