excelvba导入excel中数据到sqlserver中

excelvba导入excel中数据到sqlserver中

ID:34722899

大小:50.18 KB

页数:3页

时间:2019-03-10

excelvba导入excel中数据到sqlserver中_第1页
excelvba导入excel中数据到sqlserver中_第2页
excelvba导入excel中数据到sqlserver中_第3页
资源描述:

《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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。