• 使用OPENROWSET将数据从excel导入到sql server


    在做项目实施时,经常需要给用户提供一个excel模板,让用户根据自己的实际情况在excel中按要求录入一个基础数据(比如部门人员数据、在线考试的试题库、设备信息等),这样做的原因一个是因为用户一般对excel比较熟悉;另一个原因是使用excel的话客户可以直接从其它数据源导入,而不是从头开始录入。
    当用户将处理好的电子表格交给我们后,一般实施人员会利用自己熟悉的工具将excel导入到系统数据表中,我以前一直用工具导入,但今天一同事告诉我可以直接用sql server的查询分析器完成这个功能,这个以前还真是没有试过,所以尝试了一下,发现确实挺好的,不需要工具,不需要配置,只是单纯的一个sql语句就可以了。下面让我们来看看怎么使用sql语句完成将excel导入到sql server中。
    第一步:将制作好的excel放在本机,注意xls文件名要是英文的,另外xls的第一行应该是字段名。
    第二步:打开查询分析器,输入以下语句:
    -- 开启Ad Hoc Distributed Queries
    exec sp_configure 'show advanced options',1 
    reconfigure 
    exec sp_configure 'Ad Hoc Distributed Queries',1 
    reconfigure 

    insert into  RT_PARA  (xlbh,msid,ywgd,dhz)--数据库表名,字段名
     select xlbh,msid,ywgd,dhz--excel中的字段名
     from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=D:\yewei.xls',Sheet1$ )-- 请注意xls的物理位置要写对

    -- 关闭Ad Hoc Distributed Queries
    exec sp_configure 'Ad Hoc Distributed Queries',0
    reconfigure
    exec sp_configure 'show advanced options',0
    reconfigure
    第三步:执行语句,完成导入操作。
    怎么样,很简单吧?
     

  • 相关阅读:
    JDBC操作MySQL
    MySQL-SQL语句
    MySQL-环境安装、配置、卸载、系统介绍
    JavaSE-单元测试、反射、注解
    JavaSE-Stream、方法引用
    JavaSE-函数式编程接口
    JavaSE-网络编程
    Document
    Document
    Document
  • 原文地址:https://www.cnblogs.com/zhangronghua/p/1570566.html
Copyright © 2020-2023  润新知