微软BI 之SSIS 系列 - 导出数据到 Excel 2013 的实现
开篇介绍
碰到有几个朋友问到这个问题,比较共性,就特意写了这篇小文章说明一下如何实现在 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 系列 - 导出数据到 Excel 2013 的实现的更多相关文章
- 微软BI 之SSIS 系列 - 在 SSIS 中导入 ACCESS 数据库中的数据
开篇介绍 来自 天善学院 一个学员的问题,如何在 SSIS 中导入 ACCESS 数据表中的数据. 在 SSIS 中导入 ACCESS 数据库数据 ACCESS 实际上是一个轻量级的桌面数据库,直接使 ...
- 微软BI 之SSIS 系列 - 使用 Script Component Destination 和 ADO.NET 解析不规则文件并插入数据
开篇介绍 这一篇文章是 微软BI 之SSIS 系列 - 带有 Header 和 Trailer 的不规则的平面文件输出处理技巧 的续篇,在上篇文章中介绍到了对于这种不规则文件输出的处理方式.比如下图中 ...
- 微软BI 之SSIS 系列 - 再谈Lookup 缓存
开篇介绍 关于 Lookup 的缓存其实在之前的一篇文章中已经提到了 微软BI 之SSIS 系列 - Lookup 组件的使用与它的几种缓存模式 - Full Cache, Partial Cache ...
- 微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件
原文:微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件 开篇介绍 大多数情况下我们的 SSIS 包都会配置在 SQL Agent ...
- 微软BI 之SSIS 系列 - 数据仓库中实现 Slowly Changing Dimension 缓慢渐变维度的三种方式
开篇介绍 关于 Slowly Changing Dimension 缓慢渐变维度的理论概念请参看 数据仓库系列 - 缓慢渐变维度 (Slowly Changing Dimension) 常见的三种类型 ...
- 微软BI 之SSIS 系列 - Lookup 中的字符串比较大小写处理 Case Sensitive or Insensitive
开篇介绍 前几天碰到这样的一个问题,在 Lookup 中如何设置大小写不敏感比较,即如何在 Lookup 中的字符串比较时不区分大小写? 实际上就这个问题已经有很多人提给微软了,但是得到的结果就是 C ...
- 微软BI 之SSIS 系列 - 带有 Header 和 Trailer 的不规则的平面文件输出处理技巧
案例背景与需求介绍 之前做过一个美国的医疗保险的项目,保险提供商有大量的文件需要发送给比如像银行,医疗协会,第三方服务商等.比如像与银行交互的 ACH 文件,传送给协会的 ACH Credit 等文件 ...
- 微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug
开篇介绍 前些天自己在整理 SSIS 2012 资料的时候发现了一个功能设计上的疑似Bug,在 Script Task 中是可以给只读列表中的变量赋值.我记得以前在 2008 的版本中为了弄明白这个配 ...
- 微软BI 之SSIS 系列 - 通过 OLE DB 连接访问 Excel 2013 以及对不同 Sheet 页的数据处理
文章更新历史 2014年9月7日 - 加入了部分更新内容,在文章最后提到了关于不同 Office Excel 版本间的连接问题. 开篇介绍 这篇文章主要总结在 SSIS 中访问和处理 Excel 数据 ...
随机推荐
- charAt和String的用法
package charpter2; import java.util.Scanner; public class Test { public static void main(String[] ar ...
- 使用spring-boot-starter-data-jpa 怎么配置使运行时输出SQL语句
在 application.properties 中加入以下配置 spring.jpa.show-sql=true
- 东师理想云平台异步任务处理系统V2.0重构思路
现存问题分析: 1.功能太多,而且杂糅到一个程序中,架构不清晰,出问题不好调试.2.系统重启后,不登录到桌面,程序不运行,用户体验差.经常的下载403等错误3.处理程序卡死,处理速度慢等问题,不支持多 ...
- WCF服务寄宿Windows
windows服务的介绍 Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合.它没有用户界面,并且也不会产生任何可视输出.任何用户消息都会被写进Windows事件日志.计 ...
- django 2中的app_name和namespace
最近看<精通DJANGO>里遇到的疑惑. 简书URL如下: https://www.jianshu.com/p/404500a0408a 其中的官方解释: 应用命名空间 它表示正在部署的应 ...
- jsp统计页面访问量和刷访问量的简单使用
~Jsp可以进行简单的页面访问量统计,当然也可以使用Jsp刷访问量. 1:第一种使用全局变量<%! int i=0;%>进行页面的访问量统计,只有新打开一个浏览器才可以进行统计. 2:第二 ...
- lldp学习
http://support.huawei.com/enterprise/docinforeader!loadDocument1.action?contentId=DOC1000088818& ...
- [转]ubuntu安装skype
Skype 4.3 Released, How to Install it in Ubuntu 14.04/12.04 June 19, 2014 — 107 Comments Skype for ...
- python全栈开发day40-浮动的四大特性,浮动带来的问题和解决问题,文本属性、字体属性和颜色介绍
一.昨日内容总结 1.盒模型及其属性 2.文本级标签.行内块.块级标签 3.继承性.层叠性.权重 4.浮动四大特性 # 浮动元素脱离标准文档流 # 贴靠 # 字围效果 # 自动收缩或紧缩 二.今日内容 ...
- (转)CASE WHEN 用法
Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...