将Excel表格更快地复制到DataTable中

我正试图将一百万条logging的Excel表复制到数据表中。 不幸的是,大约需要47秒才能完成这个过程。 有更好的方法来复制这些信息在较less的时间?

以下是移植信息的代码:

 String constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0 XML;';"; OleDbConnection con = new OleDbConnection(constr); OleDbCommand oconn = new OleDbCommand("Select * From [" + sheetName + "$]", con); con.Open(); OleDbDataAdapter sda = new OleDbDataAdapter(oconn); dtTemp.Reset(); dtTemp.TableName = userUpload; sda.Fill(dtTemp); //Puts imported table into the dtTemp table con.Close(); string fields = ""; string tempString; foreach (DataColumn col in dtTemp.Columns) //Generates SQL String from imported table { tempString = RemoveSpecialCharacters(col.ColumnName); if (dtTemp.Columns.IndexOf(col) == dtTemp.Columns.Count - 1) { fields += " [" + tempString + "] varchar(255)"; } else { fields += " [" + tempString + "] varchar(255)" + ","; } } fields = fields.Trim(); // createSQLConn(fields, connection, connectionTempDB, dtTemp); }