2013-04-29 58 views
2

我想在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

回答

1

是,把一個@的字符串之前,這將‘禁用’轉義字符。\已啓用的唯一事情是使用兩個雙引號,這將轉化爲一個雙引號

例:

"I said: \"Hello!\"" 

等於:

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

等於:

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

打印時將producte:

I said: "Hello!" 

注意:無論你有多格式化字符串,調試器將始終將您的字符串顯示爲第一個字符串,其中\。這並不意味着這些反斜槓是字符串的一部分,它只是一種顯示它們的方式。

0

正如羅伊提到,編譯器應該採取的字符串沒有反斜線,如果你逃跑像你這樣,但你也可以給逐字字符串馬丁提到一試..

他們的例子見MSDN ..