(2010-12-30 17:16:53)
有时候需要把EXCEL中的数据导入到数据库中。一条一条的在数据库中建数据显然不可取,如何找一条快捷的途径进行转换是很有必要的。在这里主要是介绍一种在EXCEL中用VBA进行编程,把EXCEL的数据转换成SQL语句,存入到一个文件中,然后在数据库服务器上提交这些SQL语句来实现。
一、两边的数据格式
(一)数据库的表结构
生成数据库表的SQL语句如下:
create table Address
(
ID Integeridentity(1,1) not null primary key,
Name varchar(20) not null,
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
z1@163.com(二)转换的VBA函数
Sub GenerateSQL()
Dim i, k AsLong
Dim s AsString
Open"d:\txl.sql" For Output As#1 '打开一个文件以供输入SQL语句
i = 2
WhileCells(i, 1) <> ""
s = "INSERT INTO ADDRESS (Name,Dept,Mobile,Tel,VOIP,EMail) VALUES("
For k = 1 To 5
s = s & "'" & Cells(i, k)& "',"
Next
s = s & "'" & Cells(i, 6)& "');"
Print #1,s '输出一条语句至文件
i = i + 1
Wend
Close#1 '关闭文件
End Sub
以上的代码用于逐行把数据转换成SQL语句写入“d:\txl.sql”中。
(三)导入数据库
如果导入的数据库为SQL SERVER的话,很简单,在命令行下执行:OSQL -Hhost -Usa -Ppassword-id:\txl.sql。文件中的语句会被一一执行。执行之后就完成数据转换的操作。
上面的这个方法还可以用于数据转换和区分数据。适当的调整上面的语句再加上字符串函数可以实现EXCEL向任意数据文件格式转换。并且还可以实现对数据文件进行分拆保存。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。