0

[Sample.xlsx]

Column 0, Row 0 = "ItemA"    
Column 0, Row 1 = "ItemB"    
Column 0, Row 2 = "ItemC"    
Column 0, Row 3 = "ItemD"

[応用]

DataSet dsData = new DataSet();    
string strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Sample.xlsx;Extended Properties='Excel 12.0;'";    
OleDbDataAdapter daGetExcel = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);    
daGetExcel.Fill(dsData);        

foreach (DataRow row in dsData.Tables[0].Rows) 
{ 
    lbExcelData.Items.Add(row[0].ToString()); 
}

lbExcelDataフォーム上のListBoxコントロールです。

[結果]

「ItemB」、「ItemC」、「ItemD」

[問題]

最初のアイテム「ItemA」が無視されるのはなぜですか?

4

2 に答える 2

4

Excelの場合、接続文字列の[拡張プロパティ]設定でHDR=NOを設定します。

"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = Sample.xlsx; Extended Properties ='Excel 12.0; HDR = NO'"

http://connectionstrings.com/excel-2007

于 2009-04-03T19:04:10.403 に答える