C#.NET中如何批量插入大量数据到数据库中

2019-12-26 14:13:19王旭

后台代码:

 

 
  1. //首先在命名空间中加入以下两行  using System.Data.SqlClient; 
  2. using System.Data.OleDb;  protected void btn2_Click(object sender, EventArgs e) 
  3. {  string filepath = FileUpload1.PostedFile.FileName; 
  4. ReadExcel(filepath, dgBom);  } 
  5. public void ReadExcel(string sExcelFile, GridView dgBom)  { 
  6. DataTable ExcelTable;  DataSet ds = new DataSet(); 
  7. //Excel的连接  OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sExcelFile + ";" + "Extended Properties=Excel 8.0;"); 
  8. objConn.Open();  DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); 
  9. string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1  string strSql = "select * from [" + tableName + "]"; 
  10. OleDbCommand objCmd = new OleDbCommand(strSql, objConn);  OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn); 
  11. myData.Fill(ds, tableName);//填充数据  dgBom.DataSource =ds; 
  12. dgBom.DataBind();  objConn.Close(); 
  13. ExcelTable = ds.Tables[tableName];  int iColums = ExcelTable.Columns.Count;//列数 
  14. int iRows = ExcelTable.Rows.Count;//行数  //定义二维数组存储 Excel 表中读取的数据 
  15. string[,] storedata = new string[iRows, iColums];  for(int i=0;i<ExcelTable.Rows.Count;i++) 
  16. for (int j = 0; j < ExcelTable.Columns.Count; j++)  { 
  17. //将Excel表中的数据存储到数组  storedata[i, j] = ExcelTable.Rows[i][j].ToString(); 
  18. }  int excelBom = 0;//记录表中有用信息的行数,有用信息是指除去表的标题和表的栏目,本例中表的用用信息是从第三行开始 
  19. //确定有用的行数  for (int k = 2; k < ExcelTable.Rows.Count; k++)