微软BI 之SSIS 系列 - 导出数据到 Excel 2013 的实现
2014-04-18 23:26
453 查看
开篇介绍
碰到有几个朋友问到这个问题,比较共性,就特意写了这篇小文章说明一下如何实现在 SSIS 中导出数据到 Office Excel 2013 中。通常情况下 2013 以前的版本大多没有问题,但是到 2013 就可能在建立连接管理器的时候出现链接失败。建议在看这一篇文章之前,如果有导出数据到 Excel 2013 的需求,请先参看我的另外一篇文章 - SSIS 系列 - 通过 OLE DB 连接访问 Excel 2013 以及对不同 Sheet 页的数据处理 。先按照这篇文章实际做一遍,安装所需要的驱动,等成功实现了,那么这里的数据导出就非常的简单。
案例讲解
假设你已经按照上面这篇文章安装好了驱动,并能成功加载数据到数据库中,那么下面将介绍如何在 SSIS 中将数据导出到 Office Excel 2013 中。只有这个驱动安装好了,下面在连接到 Excel 2013 文件的时候才不会出现报错信息。我的测试数据源,大概有1W8K 多行数据。
先建好这个 Excel 文件,并且最好指定好 Sheet 页的名称 Customer;在第一行的位置指定好列标题,即需要被导出的列名称。其实这个很好理解,之所以这么提前创建好,是因为它具备一定的格式,像一个小数据库表一样有行和列的概念。
数据源的连接就不再提了,选择好 Excel Destination。
在 Excel Connection Manager 处选择新建一个链接管理器,选择好目标 Excel 并勾选中第一行是列标题。
这时就能看到刚才创建好的 Sheet 列名称了。
然后是列的 Mapping 关系,这样就类似于数据源对数据源,表对表,列对列就全部建立好对应关系了。
保存并执行包,有 18484 条数据导出了。
包执行的同时,Excel 的数据就已经在自动增长了,检查一下条数也是正确的。
所以如果是连接的问题,可以认真参照这一篇文章 - SSIS 系列 - 通过 OLE DB 连接访问 Excel 2013 以及对不同 Sheet 页的数据处理 安装好驱动,以及要注意安装的是32位版本。
另外一个问题,可能有人在问可不可以在导出的时候创建这个文件,Excel 不需要实现存在,这个能不能实现? 包括自动创建 Sheet 名称以及列名称。
我没有实际操作过,因为从安装驱动的时候就可以看出它实际上给出的驱动是关于 Access 的驱动,也就是说这里的 Excel 相当于一个小型的数据库,Sheet 就是表。我们的数据导入导出都需要从数据源到数据源的对应,表对表的对应,列到列的对应,因此这些文件以及表名应该事先定义好。
可不可以动态创建 Excel,然后再导出数据 - 可以。
可以先通过 Script Task C#脚本创建好 Excel 文件,包括 Sheet 名和列名,然后再导出数据到 Excel 文件中去的。Excel 文件名称是按时间+表名命名的,每天都导出一个,所以在程序中创建,就不用手工创建了。
更多 BI 文章请参看 BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server) 如果觉得这篇文章看了对您有帮助,请帮助推荐,以方便他人在 BIWORK 博客推荐栏中快速看到这些文章。
相关文章推荐
- 微软BI 之SSIS 系列 - 通过 OLE DB 连接访问 Excel 2013 以及对不同 Sheet 页的数据处理
- 微软BI 之SSIS 系列 - 数据仓库中实现 Slowly Changing Dimension 缓慢渐变维度的三种方式
- C# WinForm 实现增删改查等功能(Access版) 系列之八-导出数据到Excel
- C# WinForm 实现增删改查等功能(Access版) 系列之八-导出数据到Excel
- C# WinForm 实现增删改查等功能(Access版) 系列之八-导出数据到Excel
- Access 在VBA中实现数据导出到Excel
- 利用剪贴板实现高速导出数据到Excel
- 轻松实现SQL Server与Access、Excel数据表间的导入导出
- java利用POI实现Excel导入导出详解-支持97-2013版本以及2017版本
- C#数据库数据导入导出系列之三 数据库导出到Excel下
- 利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
- 使用phpExcel实现Excel数据的导入导出(完全步骤)
- 如何利用PHPExcel实现数据导出成excel文件
- python实现数据导出到excel--普通格式
- POI导出数据到EXCEL经典实现
- 详解thinkphp实现excel数据的导入导出(附完整案例)
- ThinkPHP 整合 PHPExcel ,数据导出功能实现,解决Invalid cell coordinate PHPExcel想必大家都不陌生,是用来操作Office Excel 文档的一个PHP
- 使用PHPExcel实现对excel数据的导入和导出
- DataGrid系列技巧(导出excel,事件,多种方式呈现数据,全选全删)等等等
- 轻松实现SQL Server与Access、Excel数据表间的导入导出