将Excel数据导入到C#中,而不必将第一行变成列名?

我想从Excel导入数据到一个数据表使用C#。 这是我用来这样做的代码…

string ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + "; Jet OLEDB:Engine Type=5;" + "Extended Properties=\"Excel 8.0;HRD=No;IMEX=1;\""; OleDbDataAdapter SheetAdapter = new OleDbDataAdapter("select * from ["Sheet1"]", conn); System.Data.DataTable excelData = new System.Data.DataTable(); SheetAdapter.Fill(excelData); excelData.TableName = "excelData"; foreach (DataRow row in excelData.Rows) { ProcessDataRow(row); } 

当我在查看数据表的同时debugging第一行数据已成为表列的名称。 我不明白为什么这种情况发生时,我把HDR =否到连接string。 有没有办法强制DataTable不把第一行作为列名?

您提供的代码示例具有HRD=No而不是HDR=No

我使用NPOI库来完成您所查询的任务以及其他内容。 唯一的限制是它还不能处理Excel 2007格式,所以你只能使用97-2003格式。