![[计算机]c中高效的excel导入sqlserver的方法_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/d664833d-c5a5-4689-bfbe-4b738a3a2856/d664833d-c5a5-4689-bfbe-4b738a3a28561.gif)
![[计算机]c中高效的excel导入sqlserver的方法_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/d664833d-c5a5-4689-bfbe-4b738a3a2856/d664833d-c5a5-4689-bfbe-4b738a3a28562.gif)
![[计算机]c中高效的excel导入sqlserver的方法_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/d664833d-c5a5-4689-bfbe-4b738a3a2856/d664833d-c5a5-4689-bfbe-4b738a3a28563.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.c#中高效的excel导入sqlserver的方法时间:2010-02-26 15:15:53来源:网络 作者:未知 点击:343次将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System
2、.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读?冉下谖业目肪持兄恍枰?0秒左右,而真正的导入过程只需要4.5秒。using System;using System.Data;using System.Windows.Forms;using System.Data.OleDb;namespace WindowsApplication2 public partial class Form1 : Form
3、160; public Form1() InitializeComponent(); private void button1_Click(object
4、 sender, EventArgs e) /测试,将excel中的sheet1导入到sqlserver中 string connString = "server=localhost;uid=sa;pwd=sqlgis;database=m
5、aster" System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog(); if (fd.ShowDialog() = DialogResult.OK) &
6、#160; TransferData(fd.FileName, "sheet1", connString);
7、; public void TransferData(string excelFile, string sheetName, string connectionString) DataSet ds = new DataSet();
8、0; try /获取全部数据 string strConn = "Provider=Micros
9、oft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + "" + "Extended Properties=Excel 8.0;" OleDbConnection conn = new OleDbConnection(strConn);
10、0; conn.Open(); string strExcel = "" OleDbDataAdapter my
11、Command = null; strExcel = string.Format("select * from 0$", sheetName); myCommand = new OleDbDataAdapter(strE
12、xcel, strConn); myCommand.Fill(ds, sheetName); /如果目标表不存在则创建 &
13、#160; string strSql = string.Format("if object_id('0') is null create table 0(", sheetName); foreach (System.Data.DataColumn c in ds.Tables0.Columns) &
14、#160; strSql += string.Format("0 varchar(255),", c.ColumnName);
15、0; strSql = strSql.Trim(',') + ")" using (System.Data.SqlCl
16、ient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection(connectionString) sqlconn.
17、Open(); System.Data.SqlClient.SqlCommand command = sqlconn.CreateCommand();
18、60; command.CommandText = strSql; command.ExecuteNonQuery(); sqlconn.Clo
19、se(); /用bcp导入数据 using (System
20、.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString) bcp.S
21、qlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied); bcp.BatchSize = 100;/每次传输的行数
22、0; bcp.NotifyAfter = 100;/进度提示的行数 bcp.DestinationTableName = sheetName;/目标表
23、60; bcp.WriteToServer(ds.Tables0); catch (Exception ex) &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽淮南寿州控股集团有限公司招聘10人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025年郑州枫杨外国语学校招聘教师模拟试卷附答案详解(突破训练)
- 2025江苏苏州市港航投资发展集团有限公司专业化青年人才定岗特选人员考前自测高频考点模拟试题附答案详解(完整版)
- 2025第十三届贵州人才博览会黔东南州企事业单位招聘考前自测高频考点模拟试题附答案详解(完整版)
- 2025安徽宿州市萧县司法局萧县人民法院萧县公安局选任人民陪审员42人模拟试卷及完整答案详解1套
- 2025福建厦门市粮油质量监测和军粮供应中心简化程序招聘3人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025年咸阳秦都怡心学校招聘考前自测高频考点模拟试题及答案详解(历年真题)
- 2025内蒙古首批事业单位“1+N”招聘2502名工作人员考前自测高频考点模拟试题及一套完整答案详解
- 2025江苏镇江市丹阳市教育系统校园招聘事业编制教师13人(徐州考点)考前自测高频考点模拟试题及一套完整答案详解
- 2025年武汉工程大学人才引进33人模拟试卷附答案详解
- 光伏区除草合同模板(3篇)
- 2025年产前诊断知识考核试题及答案
- (安徽卷)2025年高考历史试题
- 涂装技能师考试题及答案
- 国庆节前安全培训课件
- 关爱弱势群体课件
- 药品执法课件
- 获得性长尖端扭转性室速朱俊讲课文档
- 驾照换证考试题库及答案
- 2025年陕西省事业单位招聘考试卫生类护理学专业知识试题
- 育儿嫂服务合同
评论
0/150
提交评论