资源描述:
《excelvba导入excel中数据到sqlserver中》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、[方法一]如何把EXCEL中的数据导入SQL SERVER数据库中 (2010-12-3017:16:53) 有时候需要把EXCEL中的数据导入到数据库中。一条一条的在数据库中建数据显然不可取,如何找一条快捷的途径进行转换是很有必要的。在这里主要是介绍一种在EXCEL中用VBA进行编程,把EXCEL的数据转换成SQL语句,存入到一个文件中,然后在数据库服务器上提交这些SQL语句来实现。一、两边的数据格式(一)数据库的表结构生成数据库表的SQL语句如下:createtableAddress ( ID Integeridentity(1,1)notnullpri
2、marykey, Name varchar(20)notnull, Dept varchar(50), Spell varchar(20), Mobile varchar(11), Tel varchar(20), EMail varchar(30), VOIP varchar(6), Remark varchar(200), );EXCEL中的数据格式姓名部门手机电话VOIP电子邮件lisi 人事部13200000000010-11111111-2222111
3、 z1@163.com (二)转换的VBA函数SubGenerateSQL() Dimi,kAsLong DimsAsString Open"d:txl.sql"ForOutputAs#1 '打开一个文件以供输入SQL语句 i=2 WhileCells(i,1)<>"" s="INSERTINTOADDRESS(Name,Dept,Mobile,Tel,VOIP,EMail)VALUES(" Fork=1To5 s=s&"'"&Cells(i,k)&"'," Next
4、 s=s&"'"&Cells(i,6)&"');" Print#1,s '输出一条语句至文件 i=i+1 Wend Close#1 '关闭文件EndSub以上的代码用于逐行把数据转换成SQL语句写入“d:txl.sql”中。(三)导入数据库如果导入的数据库为SQLSERVER的话,很简单,在命令行下执行:OSQL-Hhost-Usa-Ppassword-id:txl.sql。文件中的语句会被一一执行。执行之后就完成数据转换的操作。上面的这个方法还可以用于数据转换和区分数据。适当的调整上面的语
5、句再加上字符串函数可以实现EXCEL向任意数据文件格式转换。并且还可以实现对数据文件进行分拆保存。[方法二]PublicSub写入SQL2008() DimcnnAsNewADODB.Connection DimSQLAsString,mydataAsString,mytableAsString Dimi% mydata="代销销售"'指定要修改的数据库 mytable="测试"'指定数据表'"UserID=sa;"_'sa改成你SQL账号(通常不用改)'"Password=123;"_'123改成你SQL2008密码'"DataSource=sowin;"_'sowin改成
6、你的SQL2008的电脑名,'如sql2008在网络上,则sowin改成IP地址(如192.168.0.1)'"InitialCatalog="&mydata' '建立与指定SQLServer数据库的连接 cnn.ConnectionString="Provider=SQLOLEDB;"&_ "UserID=sa;Password=SA123456;DataSource=P0630;InitialCatalog="&mydata cnn.Open'查询全表某些字段的记录进行更新'Fori=2To[a65536].End(xlUp).Row'SQL="UPDATE"&mytab
7、le&"SETx="&Cells(i,1)&","&_'"y="&Cells(i,2)&","&_'"z="&Cells(i,3)&","&_'"whereid=11"'Nexti '注意引号里面的空格 '数据库没有更新的数据则用INSERTINTO 'SQL="INSERTINTO"&mytable&"COLUMNS(x,y,z)"&_ "VALUES('"&CELLS(i,1)&"','"&cells(i,2)&"','"&cells(i,3)&"')" Fori=2ToCells(Rows.Cou