kettle从入门到精通 第五十六课 ETL之kettle Microsoft Excel Output
1、9.4 版本的kettle中有两个Excel输出,Excel输出和Microsoft Excel输出。前者只支持xls格式,后者支持xls和xlsx两种格式,本节课主要讲解步骤Microsoft Excel输出,如下图所示:

1)、步骤【生成记录】生成两条测试数据,每条数据里面包含id和name字段。

2)步骤【Microsoft Excel Output】负责将数据写入文件。

2、Microsoft Excel 输出-文件&工作表配置。

1)步骤名称:自定义步骤名称
2)文件名称:设置输出文件的文件名称,不用带后缀
3)扩展名:文件后缀,有xls和xlsx两种,这里选择xlsx。
4)Stream XSLX data:在将大型XLSX文件写入输出文件时,请选择此选项。
如果您希望流式传输XLSX文件,请选择此选项。选择此复选框后,系统将使用流式传输API来写入大型文件,而无需任何内存限制(不超过MS Excel的1,048,575行和16,384列的限制)。
如果您不希望流式传输XLSX文件,请取消选中此复选框。
只有在上面的扩展字段中选择了“.xlsx [Excel 2007及以上]”选项时才会出现此选项。
5)Split every ... data rows:在此字段中指定一个正数,以便每“n”行数据创建一个新的输出文件。例如,如果您想要在每200行数据处拆分文件,则在此字段中输入200。文件将按编号进行。填写0则不拆分。
6)文件名包含步骤数目,文件名包含日期,文件名包含时间,指定日期时间格式,都是为了指定文件生成的名字,如下图所示。

7)如果文件已存在:两个选择覆盖原文件和使用现有文件输出,根据业务场景自行选择使用哪种方式。
8)在接收数据前不创建文件:如果选择了此选项,则在检测到一行后,步骤才会创建文件。如果取消选择此选项,则无论是否实际向文件写入行,输出文件都会被创建。,根据业务场景自行选择使用哪种方式。
9)结果中添加文件名:使用此选项将文件名添加到MS Excel输出文件中。
10)工作表名:在MS Excel文件中指定要写入来自PDI的输入行的工作表名称。此字段中可以使用变量或参数。也就是设置sheet的名称。
11)设为活动工作表:如果选中,则在打开Excel时,默认会打开上述工作表。我理解如果静态设置sheet名称之后打开文件时会自动激活该sheet,如果sheet名称设置为动态变量&且勾选设置活动工作表是什么效果,大家可以试下。
12)如果输出文件中已存在工作表:两个选择覆盖工作表和输出至已存在工作表。根据业务场景自行选择使用哪种方式。
13)保护工作表/保护人/密码:只对xls文件起作用,设置文件的owner和密码。
14)使用模版创建新文件、模版文件:可以设置模版文件,然后基于模板文件复制目标文件,最后将数据写入。

15)使用模板输出文件,如下图所示

3、Microsoft Excel 输出-内容配置。

1)开始输出自单元格:在MS Excel电子表格中指定要开始写入的单元格(字母列,数字行),例如,A2,表示从从第一列第二行位置开始写数据,第一行为模板文件内容。
2)当输出记录时:两个选项覆盖已存在单元格和下移已有单元格。
3)输出表头/输出表尾/自动调整列大小/不改变现有单元格格式:自己根据业务场景进行设置。
4)强制公式重新计算:决定是否要尝试更新输出文件中的所有公式字段。
当选择此选项时,对于XLS文件格式,步骤会设置一个标记。一旦在MS Excel中打开文件,公式就会重新计算。对于XLSX文件格式,步骤本身必须尝试重新计算公式字段。底层的POI库不支持完整的Excel公式集,这可能会导致错误,如果步骤无法重新计算公式。
选择此选项以强制步骤更新输出文件中的所有公式字段。
清除此选项以保留公式字段并不进行更新。
5)在表的末尾开始写(追加行):勾选的话增量方式写入数据。
6)抵消行数:在写入行之前,指定任何非零数字以使步骤向下移动此数量的行(正数)或向上移动(负数)。负数可能在需要追加到表中但仍保留预定义页脚时很有用。
7)在写入文件前添加的空行数:指定任何正数以使步骤保留此数量的空行。
当向现有表写入时,您可能决定首先写入一些空行。如果您要追加几行到现有表格中,但要偏移它们以查看每个生成的行块的边界,则此选项很有用。
8)删除表头:决定在写入现有电子表格时是否要包含标题。省略标题是有用的,如果您想要生成带有标题的新文件,但不希望在追加到相同文件时重复标题。
9)字段设置:此处设置哪些字段写入文件,比较简单,不做详细介绍。

kettle从入门到精通 第五十六课 ETL之kettle Microsoft Excel Output的更多相关文章
- python五十六课——正则表达式(常用函数之findall)
4).函数:findall(regex,string,[flags=0]): 参数: 和match.search一样理解 功能: 将所有匹配成功的子数据(子串),以列表的形式返回: 如果一个都没有匹配 ...
- python五十六课——正则表达式(常用函数之search())
函数:search(regex,string,[flags=0]):参数:和match一样理解功能:从头开始匹配字符串中的数据,如果头不匹配继续往后尝试匹配,直到有第一个匹配成功的子数据,立即返回一个 ...
- python五十六课——正则表达式(常用函数之compile())
2).compile(regex,[flags=0]):返回一个Pattern对象(认为:它内部已经封装了一套regex和flags) 可以再通过Pattern对象继续调用match函数(此时只需要传 ...
- python五十六课——正则表达式(常用函数之match)
函数:match(regex,string,[flags=0])参数:regex:就是正则表达式(定义了一套验证规则)string:需要被验证的字符串数据flags:模式/标志位,默认情况下(不定义) ...
- GPU 编程入门到精通(五)之 GPU 程序优化进阶
博主因为工作其中的须要,開始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识.鉴于之前没有接触过 GPU 编程.因此在这里特地学习一下 GPU 上面的编程. 有志同道合的小伙 ...
- 【Visual C++】游戏开发五十六 浅墨DirectX教程二十三 打造游戏GUI界面(一)
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/16384009 作者:毛星云 ...
- 第三百五十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy分布式爬虫要点
第三百五十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy分布式爬虫要点 1.分布式爬虫原理 2.分布式爬虫优点 3.分布式爬虫需要解决的问题
- “全栈2019”Java第五十六章:多态与字段详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 《手把手教你》系列技巧篇(五十六)-java+ selenium自动化测试-下载文件-上篇(详细教程)
1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...
- vue.js 第十课-第十六课
第十课: http://note.youdao.com/noteshare?id=25b5ba45286464856f21eb4b6b391ecd&sub=19C4429995384F72BD ...
随机推荐
- 力扣784(java)-字母大小写全排列(中等)
题目: 给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串. 返回 所有可能得到的字符串集合 .以 任意顺序 返回输出. 示例 1: 输入:s = " ...
- OceanBase初体验之查看OceanBase的执行计划
前置条件 包含obd和obclient的中控机 OceanBase 测试集群 独立的测试租户 BenchmarkSQL 工具(可选) 为了能够方面的查看复杂SQL的执行计划,我们先用TPCC模拟一些数 ...
- 实时数仓Hologres首次走进阿里淘特双11
简介:这是淘特在阿里巴巴参与的第二个双11大促,大促期间累计超过上千万消费者在此买到心仪的商品,数百万家商家因为淘特而变得不同,未来,淘特也将会继续更好的服务于下沉市场,让惠民走近千万家. 2021 ...
- Cloudera CDP 企业数据云测试开通指导
简介:基于阿里云部署的 Cloudera CDP 企业数据云平台已经进入公测阶段,本文详细介绍了相关试用/试用流程. 基于阿里云部署的 Cloudera CDP 企业数据云平台已经进入公测阶段,如对 ...
- WPF 已知问题 InputEventArgs 的 Timestamp 属性是静态的导致事件之间相互影响
本文记录一个 WPF 已知的设计问题,当前此问题已经被大佬修复,这个设计问题刚好属于比较边缘的模块,我写了这么多年的代码还没有踩到这个坑一次,也没有听到有谁提到这个坑 远古时候,不知道大佬是故意还是失 ...
- 从改一个老项目开始的PHP踩坑记
php所有版本的地址: https://windows.php.net/downloads/releases/archives/ 访问控制器时省略了index.php报No input file sp ...
- LVGL scroll超出父界面不隐藏
问题 超出父界面不隐藏问题,即时使用了lv_obj_set_style_clip_corner()函数,也不起作用,如下图所示: 即使使用lv_obj_set_style_clip_corner(vi ...
- 最近常用的几个【行操作】的Pandas函数
最近在做交易数据的统计分析时,多次用到数据行之间的一些操作,对于其中的细节,简单做了个笔记. 1. shfit函数 shift函数在策略回测代码中经常出现,计算交易信号,持仓信号以及资金曲线时都有涉及 ...
- 四、【转】基于知识图谱的推荐系统(KGRS)综述
以下文章来源于AI自然语言处理与知识图谱 ,作者Elesdspline 导语 本文是2020年针对知识图谱作为辅助信息用于推荐系统的一篇综述.知识图谱对于推荐系统不仅能够进行更精确的个性化推荐,而且对 ...
- docker-compose 安装 mysql:5.7.31
目录 一.新建一个启动服务的目录 二.新建文件docker-compose.yml 三.新建角本文件 init-mysql.sh 四.实使化目录和配置文件 启动服务 登陆mysql 其它操作 参考文档 ...