2012-04-16 11 views
0

'one'以外のすべての値を読み取ることができます。C#read 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(); 

のValueList [0]は常に何を示していないが、他のValueListのメンバーが読むことができます。

そして、ActionList [0]が読み取ることができます。

なぜ最初の値を読み取ることはできません。

どうすれば解決できますか?

+0

さてあなたは、利用可能な任意の値(多分行が空白であるか、そのヘッダー行がとても無視) – V4Vendetta

+0

はい私は自分で優れ編集することができますがあります。ヘッダー行が無視された場合、別の列のヘッダー行は機能しませんが、1つの列のみに問題があります。 = – Edison

+1

カラムがミックスタイプの場合は、strconに "MaxScanRows = 0; IMEX = 1;"を追加する必要があるかもしれません。 – shenhengbin

答えて

1

値がnullではないことを確認しましたか?文字列の読み込みに失敗した場合はnull値を読み込みます。

oledb_dr.IsDbNull(1) ? "" : oledb_dr[1].ToString().Trim() 
関連する問題