ETL工具—Kettle数据的导入导出—批量Excel表到数据库
案例目的:如果你有一堆收上来,表结构相同的Excel表格,把他们放在了一个文件夹下,向批量导入到数据库中的一个表中。那么下面的操作将非常适用。
这里用emp表为例子讲解,先进行一些准备工作。
数据库:Oracle
表格: Excel表
准备工作:1.将Scott账户下的emp表格导出成Excel表格。复制几份。命名随意。(注:表格"HIREDATE"字段下年月日格式为yyyy/mm/dd,需要更改一下格式, 不然后面"运行"会报错,比如个位数日期,要补零。例:2017/05/01)
2.在自己的用户名(这里使用自建用户testuser做演示),下新建一张空emp表,字段及类型与Scott中的emp表一致。
图1:表格准备
图2:数据库emp表准备
步骤1:打开kettle工具,将图标拖进来
1)、新建一个"转换",将"获取文件名"、"excel输入"、"表输出"三个图标拖进工作区。按住Shift键,鼠标拖拽"获取文件名"图标到"Excel输入"图标上,产生连线。同理"表输出"的线也脸上。注意箭头方向。别拉反了。
图3:整体情况图
步骤2:设置"获取文件名"相关内容
图4:设置文件路径及正则表达式
图5:显示查看能否显示出文件名列表
能显示出来就设置完成。
步骤3:设置"Excel输入"相关内容
图6:选择文件类型及文件夹中任意一个表的路径(增加之后列表中就出现了新增的路径)
图7:指定Sheet页
图8:获取字段名
图9:返回文件选项卡,继续设置
设置完成后,"确定"就可以了。
步骤4:设置"表输出"相关内容
3.设置"表输出"相关参数
1)、双击"a"工作区(我将"转换1"保存命名了a)中的"表输出"的图标,打开设置窗口。
图6:设置"数据库连接"的内容
图7:目标模式,选择testuser(意思是选用户名),目标表,选择该用户下的emp表
图8:设置字段映射
设置完成后,"确定"结束设置。
4.运行,将文件夹中Excel表格,批量导入到数据库。
图9:运行和启动
图10:查看运行结果
6.检验记录是否导入
图11:记录数是对的
结束!!!