欢迎来到天天文库
浏览记录
ID:39453781
大小:30.00 KB
页数:5页
时间:2019-07-03
《C#把Excel导入数据库的两种方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、方式一:实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy类来实现。usingSystem; usingSystem.Data; usingSystem.Windows.Forms; usingSystem.Data.OleDb; namespaceWindowsApplication2 { publicpartialclassForm1:Form { publicForm1
2、() { InitializeComponent(); } privatevoidbutton1_Click(objectsender,EventArgse) { //测试,将excel中的sheet1导入到sqlserver中 stringconnString="server=localhost;uid=sa;pwd=sqlgis;database=master"; System.Windows.Forms.OpenFileDi
3、alogfd=newOpenFileDialog(); if(fd.ShowDialog()==DialogResult.OK) { TransferData(fd.FileName,"sheet1",connString); } } publicvoidTransferData(stringexcelFile,stringsheetName,stringconnectionString) { DataSetds=
4、newDataSet(); try { //获取全部数据 stringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;"+"DataSource="+excelFile+";"+"ExtendedProperties=Excel8.0;"; OleDbConnectionconn=newOleDbConnection(strConn); conn.Open();
5、 stringstrExcel=""; OleDbDataAdaptermyCommand=null; strExcel=string.Format("select*from[{0}$]",sheetName); myCommand=newOleDbDataAdapter(strExcel,strConn); myCommand.Fill(ds,sheetName); //如果目标表不存在则创建 excel文件的第一
6、行为列标题,从第二行开始全部都是数据记录 stringstrSql=string.Format("ifobject_id('{0}')isnullcreatetable{0}(",sheetName); //以sheetName为表名 foreach(System.Data.DataColumncinds.Tables[0].Columns) { strSql+=string.Format("[{0}]varchar(255),",c.Col
7、umnName); } strSql=strSql.Trim(',')+")"; using(System.Data.SqlClient.SqlConnectionsqlconn=newSystem.Data.SqlClient.SqlConnection(connectionString))
此文档下载收益归作者所有