结果中省略了Excel中的第一项(DataSet,OleDB)

[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”被忽略?

对于Excel,请在连接string的扩展属性设置中设置HDR = NO。

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

http://connectionstrings.com/excel-2007

我相信你的连接string在这种情况下应该是:

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