图解SSIS批量导入Excel文件的实现方法

网络整理 - 08-21

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

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

图解SSIS批量导入Excel文件的实现方法


 并复制很多个一样的文件

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法



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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


10、选择一个sheet

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法



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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法


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

图解SSIS批量导入Excel文件的实现方法



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