Kettle Excel输入


任务描述

Excel采用表格的形式,数据展示直观,操作方便。

与文本文件不同,Excel文件中采用工作表存储数据,一个文件有多张不同名称的工作表,分别存放相同字段或不同字段的数据。

为方便浏览表中的明细数据,需要通过Excel输入抽取相应的数据。

实现思路

  • 建立【Excel输入】转换工程。
  • 设置【Excel输入】组件参数。
  • 预览结果数据。

操作过程

1)建立Excel输入转换工程

本教程以“物理成绩.xls”文件为例,字段说明如下表所示:

字段名称

说明

字段名称

说明

序号

表示记录的顺序号

物理

表示物理考试分数

学号

表示学生在学校的唯一编号

考试时间

表示考试的日期和时间

使用Ctrl+N快捷键,创建【Excel输入】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖拽到右边工作区中,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

2)设置参数

双击【Excel输入】组件,弹出【Excel输入】对话框,其中显示默认的【文件】对话框,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

在【Excel输入】对话框中,包含组件的基础参数,以及【文件】【工作表】【内容】【错误处理】【字段】【其他输出字段】6个选项卡的参数。

在组件的基础参数中,【步骤名称】参数表示【Excel输入】组件名称,在单个转换工程中,名称必须唯一,采用默认值“Excel输入”。

【文件】【工作表】【字段】选项卡的参数是必填项(没有设置参数时,选项卡名称签名会显示“!”,表示是必填项,设置参数后“!”会消失),并且必须按照【文件】【工作表】【字段】选项卡的顺序设置,其他为可选项。

  • 【文件】选项卡参数

在【文件】选项卡中,设置参数,并导入“物理成绩.xls”文件,步骤如下:

a)浏览导入Excel文件。单击【浏览(B)…】按钮,在计算机上浏览并导入“物理成绩.xls”文件,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

b)添加并编辑Excel文件。单击【增加】,将浏览导入至【文件或目录】输入框中的“E:\data\物理成绩.xls”文件,添加至【选中的文件】表中,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

如果选中的文件有问题,那么单击【删除】或【编辑】按钮,可对选中的Excel文件进行编辑。其中,单击【选中的文件】表的行号,再单击【删除】按钮,即可删除选中所在行的文件。

c)查看被选中的文件名称.。单击【显示文件名称…】按钮,弹出【文件读取】对话框,查看被选中读取的文件,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

重复上述 a)~ c)个步骤可添加多个Excel文件,并查看读取的文件名称。

另外,如果需要导入同一个目录下的多份名称类似的文件,如导入同一个目录下名称分别为“物理成绩.xls”“物理成绩1.xls”和“物理成绩2.xls”的文件,可以使用通配符的方式导入。

具体操作为,在【选中的文件】参数表中,在【文件或目录】输入框中键入“E:\data”,在【通配符号】输入框中输入“物理成绩*.\xls”,可以一次性读入这3个文件,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

  • 【工作表】选项卡参数

单击【工作表】选项卡,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

在【要读取的工作表列表】表中设置工作表参数,获取导入的Excel文件的工作表,【工作表】选项卡参数的说明如表所示。

参数名称

说明

工作表名称

表示Excel文件的工作表名称。可以是一个Excel文件、多个工作表,也可以是多个Excel文件、多个工作表。不同的文件,工作表名称可以相同。默认值为空。

起始行

表示要读取的工作表中的开始行,行号是从0开始。默认值为空。

起始列

表示要读取的工作表中的开始列,列号是从0开始。默认值为空。

如果导入的Excel文件中的每个工作表的字段结构都相同,那么在【要读取的工作表列表】表中的第1行,不设置任何工作表名称(即【工作表名称】输入栏留空),只需设置第1行的【起始行】和【起始列】输入栏参数,这样的设置是读取所有的工作表,即第1行

将用于所有工作表。

在【工作表】选项卡中,设置导入的Excel文件的工作表参数,步骤如下:

a)获取选中文件的工作表。单击【获取工作表名称…】按钮,弹出【输入列表】对话框,左边【可用项目】列表列出选中文件的所有工作表,如“物理成绩.xls”文件的“Sheet1”工作表,而右边【你的选择】列表列出被选中的工作表,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

b)选择工作表。在【输入列表】对话框中,单击中间的【>】【>>】【<】【<<】按钮,可以在左、右列表中,选中或移除工作表,有关按钮说明如表所示

按钮

说明

>

表示右移按钮,选择左边【可用项目】列表中一个工作表,移到右边【你的选择】列表中。

<

表示左移按钮,将右边【你的选择】列表中的一个工作表移回到左边【可用项目】列表中,与【>】按钮操作相反。

>>

表示右移批处理按钮,将左边【可用项目】列表中的所有工作表,移到右边【你的选择】列表中。

<<

表示左移批处理按钮,将右边【你的选择】列表中的所有工作表,移回到左边【可用项目】列表中,与【>>】按钮操作相反。

在【输入列表】对话框中,将左边【可用项目】工作表“Sheet1”选中移到右边【你的选择】表中。

c)设置选中的工作表参数。单击【确定】按钮,将【你的选择】列表选中的“Sheet1”工作表添加至【要读取的工作表列表】表中进行参数设置,【起始行】和【起始列】参数都设置为“0”,此时完成【工作表】选项卡参数的设置,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

  • 【字段】选项卡参数

单击【字段】选项卡如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

在【字段】选项卡中,设置“物理成绩.xls”文件中字段的参数,步骤如下。

a)获取字段。单击【获取头部数据的字段…】按钮,添加字段到【字段】表中设置字段参数,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

b)设置字段参数。对字段参数进行设置,如图所示,此时完成【字段】选项卡参数的设置。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

需要说明的是,如果有些Excel文件的文件头部没有字段数据,那么系统会自动生成默认的字段名称,也可以重新编辑字段名称,字段的类型、长度等,字段的属性也可以进行编辑。

当获取字段后,【Excel输入】对话框下方【预览记录】按键的字体显示为黑色,说明此时可以预览数据。

  • 【内容】选项卡参数

单击【内容】选项卡,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

对读取Excel文件内容进行参数设置,一般按照缺省值配置,参数的说明如表所示。

参数名称

说明

头部

表示对选中的工作表是否包含表头行。默认值为√。

非空记录

表示是否在输出中不出现空行(记录)。默认值为√。

停在空记录

表示当读取记录遇到空行时,选择是否停止读取文件的当前工作表。默认值为空。

限制

表示限制生成的记录数量。当设置为0时,结果不受限制。默认值为0.

编码

表示读入的文本文件编码。第一次使用时,Kettle会在系统中搜索可用的编码。使用Unicode的,请指定UTF-8或UTF-16。默认值为Kettle系统的编码。

  • 【错误处理】选项卡参数

单击【错误处理】选项卡,如图所示,可对获取Excel文件时产生的错误处理参数进行设置,检查和定位错误位置,一般按照缺省值配置。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

  • 【其他输出字段】选项卡参数

单击【其他输出字段】选项卡,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段

对Excel文件的其他输出字段参数进行设置,用于指定处理文件的附加信息,默认值为空,一般按照缺省值配置,有关参数的说明如表所示。

字段参数

说明

文件名称字段

表示指定完整的文件名称和扩展名的字段。默认值为空。

工作表名称字段

表示指定要使用的工作表名称的字段。默认值为空。

表单的行号列

表示指定要使用的当前工作表行号字段。默认值为空。

行号列

表示指定写入行数的字段。默认值为空。

文件名字段

表示指定文件名但没有路径信息、但有扩展名的字段。默认值为空。

扩展字段

表示指定文件名扩展名的字段。默认值为空。

路径字段

表示指定以操作系统格式包含路径的字段。默认值为空。

文件大小字段

表示指定文件数据大小的字段。默认值为空。

是否为文件隐藏字段

表示文件是否为隐藏的字段(布尔值)。默认值为空。

Uri字段

表示指定包含Uri的字段。默认值为空。

Root Uri字段

表示指定仅包含Uri的根部分的字段。默认值为空。

设置好字段参数后,单击【预览记录】按钮,弹出【预览数据数量】对话框,要预览的行数采用默认值,并单击【确定】按钮。

弹出【预览数据】对话框,展示Excel输入的数据,如图所示。

kettle execl,excel输入,输入组件,kettle参数,kettle字段