问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

转载:如何将Excel数据批量导入SQL数据库

发布网友 发布时间:2022-04-22 05:02

我来回答

1个回答

热心网友 时间:2022-04-30 10:40

namespace WindowsApplication2{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){//测试,将excel中的sheet1导入到sqlserver中
string connString = server=localhost;uid=sa;pwd=sqlgis;database=master;
System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
if (fd.ShowDialog() == DialogResult.OK){TransferData(fd.FileName, sheet1″, connString);}}public void TransferData(string excelFile, string sheetName, string connectionString){DataSet ds = new DataSet();try{//获取全部数据
string strConn = Provider=Microsoft.Jet.OLEDB.4.0; + Data Source= + excelFile + ; + Extended Properties=Excel 8.0;;
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = ;
OleDbDataAdapter myCommand = null;
strExcel = string.Format(select * from [{0}$], sheetName);
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(ds, sheetName);
//如果目标表不存在则创建
string strSql = string.Format(if object_id(’{0}’) is null create table {0}(, sheetName);
foreach (System.Data.DataColumn c in ds.Tables[0].Columns){strSql += string.Format([{0}] varchar(255),, c.ColumnName);}strSql = strSql.Trim(’,') + );
using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection(connectionString)){sqlconn.Open();
System.Data.SqlClient.SqlCommand command = sqlconn.CreateCommand();
command.CommandText = strSql;
command.ExecuteNonQuery();
sqlconn.Close();}//用bcp导入数据
using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString)){bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);
bcp.BatchSize = 100;//每次传输的行数
bcp.NotifyAfter = 100;//进度提示的行数
bcp.DestinationTableName = sheetName;//目标表
this.Update();}}}上面的TransferData基本可以直接使用,如果要考虑周全的话,可以用oledb来获取excel的表结构,并且加入ColumnMappings来设置对照字段,这样效果就完全可以做到和sqlserver的dts相同的效果了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 商务谈判经典案例 如何将多个excel文件一次性导入SQL Server数据库 如何对sql server数据库中某一个表批量导入excel数据 一次完整的商务谈判分哪几个阶段? 商务谈判考题,题目太长了只能发图了!非常十万火... 如何将多个excel表导入sql数据库的同一个表中? 商务谈判人员分工和配合怎么去做 商务谈判案例分析!!急!! 如何将excel中的数据导入到sql2000中 如何能把excel 大量数据快速导入sql 商务谈判核心是什么? 商务谈判的基本要素有哪些 商务谈判应遵循的四个主要环节是 如何将excel数据批量导入sql数据库 商务谈判案例分析 简述商务谈判的特点 汤君健如何提升自己的谈判力思维导图 求商务谈判的会场布置图一份,谢谢! 在ai里怎么把圆角矩形改成直角矩形 AI里怎么修改已绘制的圆角矩形的圆角弧度? 如何进行成功的商务谈判 C#中如何将Excel中的数据批量导入到sql server? 将大量excel数据 导入sql数据库中 怎样将EXCEL数据导入到sql中 如何将excel表格导入到sql数据库 worldwar怎么攻击 世界大战是几几年? 第二次世界大战起始时间? 第一次世界大战和第二次世界大战分别发生在什么时候? 二战是什么时候开始的 谁有费尼克斯worldwar歌词中英文的翻译 第一次世界大战是哪个国家发动起来的? World War Ii 歌词 worldwarhero怎么换队伍 为什么进入worldwarheroes后一直显示正在加载 第一次和第二次工业革命时间,第一次和第二次世界... 第一次工业革命和第一次世界大战是何时 Worldwarheros 怎么创建房间 LINUX的软件怎么安装?Ubuntu8.04.1 有没有比费尼克斯*WorldWar.更好听的说唱