2011-08-08 17 views
1

長話短說我在C#編寫爲Excel iterationh比較通過行:單元格的值比作textbox.text值C#

if(ws.Cells[i, "C"].ToString() == TextBox12.Text) 

這原來被拋出COM HRESULT異常。什麼是做這種比較的正確方法?我在互聯網上進行了大量搜索,但沒有任何適合我的內容。 需要幫助!

+0

你的例外有什麼HRESULT值? –

+0

完全是這樣的:從HRESULT異常:0x800A03EC – neocorp

回答

0

.ToString()方法的ws.Cells[i,"C"]對象返回類型System._ComObject。你想要ws.Cells[i,"C"].Value.ToString()。我測試了它,發現兩者是平等的。

+0

以及'ws.Cells [i,「C」]。Value.ToString()'不起作用,因爲我輸入單元格規格後看不到.Value方法。我嘗試了另一種方式:'if(currentFind == ws.Cells.Value2)'(currentfind是一個Excel.Range btw),但這次拋出:沒有足夠的存儲可用於完成此操作。 (從HRESULT異常:0x8007000E(E_OUTOFMEMORY)) – neocorp

+0

@Niyazi你是什麼意思,你看不到價值的方法?由於「Cells」是動態的,因此IDE中不會獲得Intellisense,但它絕對存在。我不知道你評論中的if語句是否真的有效。 – jonsca

+0

謝謝,我其實並不滿意這種比較風格。你能以其他方式讓我看看嗎?我基本上是這樣做的:有一個excel文件,其中有100行的行,獲得textbox.text和通過循環搜索結束,並查看它是否與列C中的任何值匹配。任何幫助? – neocorp

相關問題