c# 读取Excel,并批量插入到数据库 - Go语言中文社区

c# 读取Excel,并批量插入到数据库


 public static string BD_MaterialImport(string FilePath)
        {
            
            try
            {
                #region 读取工作表,导入数据 

                //此连接可以操作.xls与.xlsx文件
   string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source="
                    + FilePath //execel路径
                    + ";Extended Properties='Excel 12.0; HDR=NO; IMEX=0'";
                DataSet ds = new DataSet();

              //Sheet1工作表名称
   OleDbDataAdapter oada = new OleDbDataAdapter("select * from [Sheet1$]", strConn);
                oada.Fill(ds);

                #endregion
                #region 数据写入数据库

                DataTable data = ds.Tables[0];//数据源表
               using(SqlConnection con=new SqlConnection(ConStr)){
                //使用Bulk批量插入大数据
                   Stopwatch sw = new Stopwatch();//运行时间
                   SqlBulkCopy bulkCopy = new SqlBulkCopy(con);
                   bulkCopy.DestinationTableName = "mainUser"; //数据库表名
                   bulkCopy.BatchSize = data.Rows.Count;
                   con.Open();
                   sw.Start();//开始计时

                   bulkCopy.WriteToServer(data);
                   sw.Stop();
                   Console.WriteLine(string.Format("插入{0}条记录共花费{1}毫秒,{2}分钟", data.Rows.Count, sw.ElapsedMilliseconds, Convert.ToInt32(sw.ElapsedMilliseconds)/60/60));
                   return "数据插入结束...";
               }
                #endregion
            }
            catch (Exception ex)
            {
                return ex.Message;
            }


        }

 

读取的DataTable

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_36729112/article/details/88535080
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 22:51:22
  • 阅读 ( 872 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢