Excel-VBA导入Excel中数据到SQL-Server中_第1页
Excel-VBA导入Excel中数据到SQL-Server中_第2页
Excel-VBA导入Excel中数据到SQL-Server中_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、方法一如何把EXCEL中的数据导入SQL SERVER数据库中 (2010-12-30 17:16:53)    有时候需要把EXCEL中的数据导入到数据库中。一条一条的在数据库中建数据显然不可取,如何找一条快捷的途径进行转换是很有必要的。在这里主要是介绍一种在EXCEL中用VBA进行编程,把EXCEL的数据转换成SQL语句,存入到一个文件中,然后在数据库服务器上提交这些SQL语句来实现。一、两边的数据格式(一)数据库的表结构生成数据库表的SQL语句如下:create table Address (  &

2、#160; ID    Integer identity(1,1) not null primary key,    Name    varchar(20) not null,    Dept    varchar(50),    Spell    varchar(20),   

3、 Mobile    varchar(11),       Tel    varchar(20),     EMail    varchar(30),     VOIP    varchar(6),     R

4、emark    varchar(200),      );EXCEL中的数据格式姓名部门手机电话VOIP电子邮件lisi 人事部13200000000010-11111111-2222111 z1 (二)转换的VBA函数Sub GenerateSQL()    Dim i, k As Long    Dim s As String    Open &quo

5、t;d:txl.sql" For Output As #1    '打开一个文件以供输入SQL语句    i = 2    While Cells(i, 1) <> ""        s = "INSERT INTO ADDRESS (Name,Dept,Mobile,Tel,VOIP,EMail) VALUES ("

6、0;       For k = 1 To 5            s = s & "'" & Cells(i, k) & "',"        Next       

7、0;s = s & "'" & Cells(i, 6) & "');"        Print #1, s              '输出一条语句至文件        i = i + 1  

8、;  Wend    Close #1      '关闭文件End Sub以上的代码用于逐行把数据转换成SQL语句写入“d:txl.sql”中。(三)导入数据库如果导入的数据库为SQL SERVER的话,很简单,在命令行下执行:OSQL -Hhost -Usa -Ppassword -id:txl.sql。文件中的语句会被一一执行。执行之后就完成数据转换的操作。上面的这个方法还可以用于数据转换和区分数据。适当的调整上面的语句再加上字符串函数可以实现EXCEL向任意数据

9、文件格式转换。并且还可以实现对数据文件进行分拆保存。方法二Public Sub 写入SQL2008() Dim cnn As New ADODB.Connection Dim SQL As String, mydata As String, mytable As String Dim i% mydata = "代销销售" '指定要修改的数据库 mytable = "测试" '指定数据表' "User ID=sa;" _ 'sa改成你SQL账号(通常不用改

10、)' "Password =123;" _ '123改成你SQL2008密码' "Data Source=sowin;" _ 'sowin改成你的SQL2008的电脑名,' 如sql2008在网络上,则sowin改成IP地址(如192.168.0.1)' "Initial Catalog =" & mydata' '建立与指定SQL Server数据库的连接 cnn.ConnectionString = "Provider=SQLOL

11、EDB;" & _ "User ID=sa;Password =SA123456;Data Source=P0630;Initial Catalog =" & mydata cnn.Open'查询全表某些字段的记录进行更新' For i = 2 To a65536.End(xlUp).Row' SQL = "UPDATE " & mytable & " SET x=" & Cells(i, 1) & "," &am

12、p; _' "y=" & Cells(i, 2) & "," & _' "z=" & Cells(i, 3) & "," & _' "where id=11"' Next i '注意引号里面的空格 '数据库没有更新的数据则用INSERT INTO 'SQL = "INSERT INTO " & mytable & "

13、COLUMNS(x,y,z)" & _ " VALUES('" & CELLS(i,1) & "','" & cells(i,2) & "','" & cells(i,3) &"')" For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row     SQL = "INSERT INTO " & mytable & _     " VALUES('" & Cells(i, 1) & "','" & Cells(i, 2) & "','" & Cells(i, 3) & "','" & Cells(i,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论