首页 > 其他分享 >kettle从入门到精通 第五十六课 ETL之kettle Microsoft Excel Output

kettle从入门到精通 第五十六课 ETL之kettle Microsoft Excel Output

时间:2024-05-05 21:11:49浏览次数:18  
标签:选项 文件 输出 写入 kettle Excel 步骤 第五十六

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,Excel,步骤,第五十六
From: https://www.cnblogs.com/zjBoy/p/18166459

相关文章

  • Excel求解器使用教程
    添加规则求解加载项创建excel文件,点击文件点击选项选择加载项->规则求解加载项->转到选择规则求解加载项->确定求解器所在位置---数据->规划求解在excel文档中填写相关的计算公式,用来求解点击规则求解,填写对应的目标,可变单元和约束,选择求解方法来求......
  • excel - SUMIF的使用
    SUMIF(range,criteria,[sum_range])range是你要根据条件进行检查的单元格区域。criteria是根据其检查range的条件。这个条件可以是数字、表达式、或文本字符串。[sum_range]是可选的参数,当要求和的数字位于与range不同的区域时使用。如果省略sum_range,Excel会默认......
  • Excel忘记了密码,怎么解开?
      在我们日常工作或者是学习时候,Excel会被经常使用到。我们会通过网络将Excel发送给其他人,但是有时候,为了公司的数据安全或者是保护隐私,防止别人随意修改数据或者是复制数据,通常的办法是给Excel表格加上密码。时间久了,有时候会忘记了密码,怎么解决呢?一起来看看怎么解决。昨天......
  • 有遇到过吗?同样的规则 Excel 中 比Python 结果大
    大家好,我是Python进阶者。一、前言前几天在Python白银交流群【JethroShen】问了一个Python处理Excel数据读取的问题。问题如下:有遇到过吗?同样的规则 Excel中 比Python 结果大?二、实现过程这里【瑜亮老师】和【论草莓如何成为冻干莓】给了一个指导,指出是字符串的问题......
  • java EasyExcel 导出不同dto到多sheet,同时有动态字段,分页写入方案,解决存在oom的问题
    思路 1将一次查询数据改成分页查询,比如一次2000条,2将每次查询的数据按业务分组计算每类业务动态列追加的最大次数treeMap追加列2在excel列表头则是追加2列,名称自定义,我这边是补数字,示例追加列1,追加列2我的业务是按数据库存放的图片来确定最大追加列,需要将图片......
  • 使用 EasyExcel 进行数据解析
    一、添加pom.xml导入相关依赖<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.12</version></dependency><depende......
  • 如何通过前后端交互的方式制作Excel报表
    前言Excel拥有在办公领域最广泛的受众群体,以其强大的数据处理和可视化功能,成了无可替代的工具。它不仅可以呈现数据清晰明了,还能进行数据分析、图表制作和数据透视等操作,为用户提供了全面的数据展示和分析能力。今天小编就为大家介绍一下,如何通过葡萄城公司的纯前端表格控件Spre......
  • Qt Excel读写 QXlsx的安装配置以及测试
    引言Qt无自带的库处理Excel文件,但可通过QAxObject借助COM接口进行Excel的读写1。亦可使用免费的开源第三方库:QXlsx,一个基于Qt库开发的用于读写MicrosoftExcel文件的C++库。它提供了一组简单易用的API,可以方便地创建、修改和操作Excel文件。一、安装配置1.下载源码,如下图所......
  • Qt Excel的读写
    在Qt中,可以使用第三方库来处理Excel文件,常用的库包括:QXlsx:一个基于Qt的Excel文件处理库,支持读写Excel文件。LibXL:一个商业的Excel文件处理库,支持多种编程语言,包括C++。OpenXLSX:一个开源的Excel文件处理库,支持读写Excel文件,支持多种操作系统。下......
  • 多人同时导出 Excel 干崩服务器!新来的阿里大佬给出的解决方案太优雅了!
    来源:juejin.cn/post/7259249904777838629前言业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队;刚开......