分享

如何把EXCEL中的数据导入SQL SERVER数据库中

 本明书馆 2015-08-05

如何把EXCEL中的数据导入SQL SERVER数据库中

(2010-12-30 17:16:53)

    有时候需要把EXCEL中的数据导入到数据库中。一条一条的在数据库中建数据显然不可取,如何找一条快捷的途径进行转换是很有必要的。在这里主要是介绍一种在EXCEL中用VBA进行编程,把EXCEL的数据转换成SQL语句,存入到一个文件中,然后在数据库服务器上提交这些SQL语句来实现。

一、两边的数据格式

(一)数据库的表结构

生成数据库表的SQL语句如下:

create table Address 
(
    ID    Integer identity(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  人事部 13200000000 010-11111111-2222 111  z1@163.com

 

(二)转换的VBA函数

Sub GenerateSQL()
    Dim i, k As Long
    Dim s As String
    Open "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 ("
        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向任意数据文件格式转换。并且还可以实现对数据文件进行分拆保存。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多