• Excel 数据导入到Sql Server 2008中


    --首先打开SSMS,然后点击左上角的【新建查询(N)】,在右边弹出的窗口中输入一下代码:

    代码一:

    ----------------------------------------------------------------------------------------

    use TEST    --- ‘TEST’是数据库名字,你可以切换到你想要的数据库或直接输入数据库名字

    ----根据系统需要使用这几段批处理命令打开相应功能
    EXEC sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
    GO
    RECONFIGURE;
    GO
    ----以上为根据实际情况的可选命令

    ----开始插入数据到TEST数据库的一个新表中
    select  *  into newtable_name   from
    OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source="c:\daoru.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$]
    go

    ------------------------------------------------------------------------

    P.S:

    1: 执行这段代码之前,你需要准备导入的数据。 我用的是Excel 2007,  Excel文件的名字为“daoru”,放在C盘目录下。

    2:  代码中的select * into newtable_name  from ...   这是把excel中的数据插入到TEST数据库中,并同时新建表名为newtable_name存放插入的数据.

    3:    代码中的Office2007的数据库驱动为“Microsoft.Ace.OLEDB.12.0”,

           如果是Office2003的话应改成“Microsoft.Jet.OLEDB.4.0”,

           还有Office2007中Excel的“Extended properties”中为“Excel 12.0”   而Office2003为“Excel 8.0”

    4:   代码中'Data Source="c:\daoru.xlsx" 就是要导入数据的文件存放路径. (注意后缀:Excel 2007的为.xlsx;Excel  2003的为.xls)

    5:   代码中的...[sheet1$]  为表名,格式为:[XXX$]或者XXX$,不需要中括号也行,而且表名不能以数字开头(其实这是几乎所有编程语言的变量命名规则),切记!  没有修改过名字的话,Excel默认是shee1,shee2,shee3....

    6:   当然,你也可以使导入的数据,不用新建表.而是直接导入到数据库已有的表中, 只要稍微修改代码就可以了.

    代码二:

    ---------------------------------------------------------------------------------------

         insert into 已存在的表名  (字段一,字段二)     select  A,B   from
         OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source="c:\daoru.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$]
    go

    ---------------------------------------------------------------------------------------

    代码二中,A,B表示的意思是Excel中的A列和B列, 但是直接输入A,B是没有用的.

    这里还要提醒一点,导入数据的时候,系统默认Excel的第一行数据是字段名.

    所以,你可以把Excel的第一行的前两列数据改为A和B,这样就可以了! 

    如果Excel中的列数和数据库中的已存在的表的列数相等,也可以改成如下:

    代码三:

    ---------------------------------------------------------------------------------------

         insert into 已存在的表名   select  *  from
         OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source="c:\daoru.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$]
    go

    ---------------------------------------------------------------------------------------

     当然,我们可以利用Data Import for Sql Server等工具来导入,也可以利用SQL Server 2008的DTS导入(在SQL Server Management Studio的选择你要导入到的数据库如:TEST,右键选择“任务”——“导入数据”即可.

  • 相关阅读:
    [转载红鱼儿]delphi 实现微信开发(1)
    Devexpress VCL Build v2013 vol 14.1.3 发布
    [翻译]LSP程序的分类
    睡眠不好
    LuaStudio 9.27 去10分钟退出暗桩板
    vs2012 提示 未能正确加载 "Visual C++ Language Manager Package" 包 的解决办法
    岁月蹉跎
    重新安装系统之前备份
    运动会
    乱思
  • 原文地址:https://www.cnblogs.com/ycusking/p/excel_sqlserver.html
Copyright © 2020-2023  润新知