zoukankan      html  css  js  c++  java
  • SSIS 导入多个Excel 数据

    http://blog.csdn.net/jinjazz/article/details/2710169

    http://blog.csdn.net/jinjazz/article/details/2722987

    将一个目录下(可以包括子目录)结构一样的excel文件批量导入sql2005,可以用ssis来定制任务.下面用大量图片完全说明整个过程.

    1、建立测试excel文件,假设有a b c d四个字段,保存在f:/excel目录下

    并复制很多个一样的文件

    2、打开Microsoft Visual Studio 2005或者随sql2005安装的SQL Server Business Intelligence Development Studio,新建一个商业智能项目。

    3、工具箱拖一个Foreach循环容器

    4、编辑容器,设定遍历目录和其他参数

    5、新建一个映射变量,用来存储遍历当中的文件路径

    6、怎么存储不用你关心,你只要指定一个变量名就ok了

    7、确定后,容器生成完毕,接着拖一个数据流任务到容器中


    8、切换到数据流tab页,拖一个excel源

    9、编辑excel源,选择一个刚刚的任意excel

    10、选择一个sheet

    11、拖一个ole db目标到数据流中

    12、按住excel源的绿色箭头,拖动到oledb目标上

    13、编辑oledb目标,选择一个sqlserver数据表,这个表必须是已经存在的,这里我们建立一个ssistest数据库,生成一个和excel结构一样的表tt
    create table tt(a varchar(100),b varchar(100),c varchar(100),d varchar(100))
    然后用oledb去连接


    14、编辑字段映射关系,结构一样,它会自动找到

    15、编辑下面的excel链接管理器,这里将用到foreach的变量来代替刚刚选择的那个excel文件

    16、连接管理器的属性中设置变量的映射用法

    17、expressions的属性编辑列表中,左边选择 excelfilepath,这个是连接管理器的属性,我们将用变量来代替

    18、再点击表达式的属性编辑按钮,把列表中的变量用户::xlspath变量拖到下面的表达式框中

    19、这时ssis将会报错,并给出警告

    20、上图中黄颜色的区域,右键-属性,打开控制流的属性窗口,设置DelayValidation为True就可以了。


    经过以上20步的配置,整个过程就结束了,你可以按下F5看看效果,文件夹下所有的excel将被批量导入数据库。另外可以通过sqlserver的作业来调用ssis的包实现定期自动把目录下的excel导入数据库。

    将一个excel文件中的所有相同结构的工作表导入到sql2005的同一张表中。下面用大量图片完全说明整个过程.
    1、测试环境为一张excel中的三个sheet


    2、打开Microsoft Visual Studio 2005或者随sql2005安装的SQL Server Business Intelligence  Development Studio,新建一个商业智能项目。


    3、连接管理器中新建一个ADO.Net连接


    4、新建连接

    5、选择jet Ole Db数据源


    6、选择一个excel文件,他默认是mdb的,你需要显示所有文件(*.*)才能选择Excel

    7、选择全部-红色标记的地方选择excel5.0


    这样用来遍历excel架构的链接就建立好了

    8、新建一个循环容器


    9、循环编辑器配置如下


    10、新建变量映射,用来保存遍历到表名



    11、变量如图




    循环容器就ok了

    12、容器中添加数据流任务


    13、设置excel源


    14、设置Excel连接和工作表


    15、设置oledb目标


    16、绿色箭头连起来


    17、编辑oledb目标,选择一个sqlserver数据表,这个表必须是已经存在的,这里我们建立一个ssistest数据库,生成一个和excel结构一样的表tt
    create table tt(a varchar(100),b varchar(100),c varchar(100),d varchar(100))
    然后用oledb去连接


    18、编辑映射,关系,默认的就可以了


    19、最后需要将刚刚选定的excel源用循环变量来代替,在高级设置中(我也找了好久)


    20、配置如下


    21、完成,可以按下调试按钮,来启动任务测试



    同理你可以设置目标的高级,来导入sheet不同结构的表格,并且可以结合我的前面一片文章,批量导入文件夹下所有excel文件来完成批量导入所有excel的所有sheet。

  • 相关阅读:
    Effective Java第三版(一) ——用静态工厂代替构造器
    联合主键下的mapper文件对数据库的批量更新
    dart的基本语法(一)
    单例模式
    给hexo博客的NEXT主题添加一个云日历
    使用nginx+tomcat实现动静分离
    nginx(二)
    nginx(一)
    初识Nginx
    给hexo添加宠物
  • 原文地址:https://www.cnblogs.com/ifreesoft/p/3545703.html
Copyright © 2011-2022 走看看