Excel跳过第一行?

我正在使用OleDbCommand导入一个xls文件到ds。 我遇到的问题是在我的第一行跳过的foreach。 我无法弄清楚为什么。 有什么build议么?

cmd.CommandText = string.Format("SELECT * FROM [{0}$]", worksheetName); conn.Open(); var adapter = new OleDbDataAdapter(); var ds = new DataSet(); adapter.SelectCommand = cmd; adapter.Fill(ds); var table = ds.Tables[0]; foreach(DataRow row in table.Rows){ // rest of my code } 

将连接string(如注释中所述)更改为:

 string cnn = string.Format( "Provider=Microsoft.ACE.OLEDB.12.0;" + "data source={0}{1}{2};" + "Extended Properties=Excel 8.0;", fileLocation, fileName, fileExtension); 

至:

 string cnn = string.Format( "Provider=Microsoft.ACE.OLEDB.12.0;" + "data source={0}{1}{2};" + "Extended Properties=Excel 8.0;HDR=No", fileLocation, fileName, fileExtension); 

检查你的连接string。 它最有可能包含:

 HDR=Yes 

这表示第一行是一个标题

也许你已经告诉它跳过第一行。 我记得听起来像FirstRowIsHeader的属性。 我想如果这是真的,那么它跳过。 这可以在创build连接的时候改变