2012-04-16 58 views
0

我可以讀取除「one」之外的所有值。C#讀取excel無法獲得值

這是我的代碼:

OleDbConnection oledb_con = new OleDbConnection(strCon); 

oledb_con.Open(); 

OleDbCommand oledb_com = new OleDbCommand("SELECT * FROM [sheet1$]", oledb_con); 

OleDbDataReader oledb_dr = oledb_com.ExecuteReader(); 

while (oledb_dr.Read()) 
{     
     ActionList.Add(oledb_dr[0].ToString().Trim()); 
     ValueList.Add(oledb_dr[1].ToString().Trim()); 
} 

oledb_dr.Close(); 
oledb_con.Close(); 

值列表[0]總是顯示什麼,但其他值列表的成員可以閱讀。

而且theActionList [0]可以讀取。

爲什麼不能在第一值讀取。

我該如何解決?

+0

那麼你有任何值可用(也許該行是空白或其標題行如此被忽略) – V4Vendetta 2012-04-16 08:42:03

+0

是的我可以自己編輯excel。如果標題行忽略另一列的標題行不應該工作,但只有一列有問題。 =( – Edison 2012-04-16 08:44:52

+1

如果列是mixtype也許你需要添加 「的MaxScanRows = 0; IMEX = 1;」 在 – shenhengbin 2012-04-16 09:02:00

回答

1

您是否檢查過該值是否爲空?在字符串失敗時讀取空值。

oledb_dr.IsDbNull(1) ? "" : oledb_dr[1].ToString().Trim()