kettle常用操作–Excel文件和数据库表之间的数据转换
一、Excel文件数据导入到数据库表
1.1 创建一个转换
点击右上角文件,选择新建,再选择转换即可创建一个转换。
之后的操作都是基于这个转换中的核心对象来操作。
1.2 所用到的核心对象
- 输入菜单下的
Excel输入
- 输出菜单下的
表输出
- 不一定是用表输出,使用
插入/更新
控件也可以实现同样的效果
- 不一定是用表输出,使用
具体使用
表输出
控件,还是插入/更新
控件,需要结合实际业务情况。到时用法都是差不多的。
1.3 把这两个控件拖出来
按住shift
键,对准Excel输入
控件按下鼠标左键,拖向表输出控件就可以建立流连接。
1.4 配置DB连接
切换到主对象树下,鼠标右击转换菜单下的DB连接
,选择新建:
配置一个MySql连接:
配置好后选择确定,就能看到当前转换下的一个DB连接:
1.5 配置Excel输入
双击Excel输入控件,进入配置页:
1.5.1 点击浏览选择本地Excel文件
1.5.2 点击增加把浏览的文件添加到选中的文件列表中
此时,文件或目录后面的输入框就自动清空了,二选中的文件列表中多出了一条数据。
这就代表Excel输入
控件中已经输入了一个Excel
文件的数据。
1.5.3 配置工作表
点击文件旁边的工作表,切换到工作表配置窗口。
点击底部获取工作表名称。
我这里就选择Sheet1
。
1.5.4 配置输入字段
点击错误处理旁边的字段,切换到字段配置窗口。
点击底部获取来自头部数据的字段。
如果自动获取的字段配置和自己想要的不一样可以自行修改。
我这里就不修改了。
1.6 配置表输出
双击表输出控件,进入配置页:
1.6.1 主要配置数据库连接,目标表和需要插入的字段。
数据库连接需要自己在转换中创建了DB连接,这里才会有的选择。
1.6.1 字段映射配置
点击获取字段时,可能表字段和流字段的映射并不符合实际情况。
比如表字段和Excel文件的表头对应的字段名称并不相同。
这里可以选择主动修改表字段中不对的名称,也可以点击输入字段映射,自行指定映射关系。
1.7 测试转换
1.7.1 测试之前
测试之前Excel数据:
测试之前数据库表数据:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j1NIWlX0-1662715967901)(assets\数据库表原始结构.png)]
1.7.2 开始测试
测试成功后,可以查看控制台
发现转换成功!
1.7.3 测试之后
测试之后数据库表数据:
转换完全成功!
实现了把Excel数据提取到数据库表中。
二、数据库表数据导入到Excel文件
创建转换,创建DB
连接,拖出控件的操作都是和上面一样的。
只不过,这一次需要的是表输入
和Excel输出控件
。
2.1 表输入控件的配置
只需要配置好数据库连接,再点击获取SQL
查询语句即可。
这个语句查询出来的数据就是以后表输入控件中携带的数据了。
这个自动获取的语句也是可以自行更改的。
2.2 Excel输出控件的配置
第一步配置Excel文件名和拖展名:
输入需要接收数据的Excel
本地文件的文件名,这里我没有带上后缀。
后缀在拓展名处已经配置。
如果文件名那里写了文件后缀,例如Excel输出位置.xlsx
,那么拓展名那里就什么都不要写即可。
第二步配置字段:
自动获取字段后有不符合的可以更据自己需求修改。
2.3 运行转换
发现表中的数据也能够输出到Excel文件中。