将一个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。
相关文章:
图解SSIS批量导入Excel文件
参考msdn
http://msdn.microsoft.com/en-us/library/ms345182.aspx