将excel数据写入数据表

我写了下面的代码将数据从excel文件写入到数据表中,但由于某种原因,在写入数据表时,索引0和1处的行数据不会显示。 有没有人有一个想法,为什么这可能是..

var excelDataTable = new DataTable(); var excelAdapter = new OleDbDataAdapter(); var excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + excelFileName + ";Extended Properties=Excel 12.0;"; // Create Connection to Excel Workbook using (var excelConnection = new OleDbConnection(excelConnectionString)) { excelConnection.Open(); var dt = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); if (dt != null) { var excelSheet = new String[dt.Rows.Count]; int i = 0; foreach (DataRow row in dt.Rows) { excelSheet[i] = row["Table_Name"].ToString(); i++; } var command = new OleDbCommand ("Select * FROM [" + excelSheet[0] + "]", excelConnection); // should be first sheet not the name of the sheet, should be index excelAdapter.SelectCommand = command; } excelAdapter.Fill(excelDataTable); excelConnection.Close(); } 

你的连接string有问题………………..如果你想避免头或想要包括标题行或从第一行开始,你需要inlcude为excel另一个exonteded连接string的属性。

请检查这个

在读取Excel文件时跳过第一行

关于来自row[0]数据可以帮助包括属性HDR=No; 在你的连接扩展属性强。