用kettle进行Excel文件输入,MySQL数据表输出

这篇博客详细介绍了如何使用Kettle工具从Excel文件读取数据,然后将其导入到MySQL数据库表中,包括连接数据库、设置Excel输入和MySQL输出的步骤。

用kettle进行Excel文件输入,MySQL数据表输出

一, 连接数据库

按F3
在这里插入图片描述


在这里插入图片出现该图则成功描述

二, Excel输入

首先将我们的Excel表在浏览里找到并添加(如果表的后缀名是.xsxl,选择2007年版本的Excel)
然后从工作表中选择表一
在这里插入图片描述
再获取字段,并进行预览
在这里插入图片描述
点确定

三,MySQL输出

首先输入自己的目标表**(指定数据库字段要勾选)**
在这里插入图片描述
然后执行SQL
执行成功后点击确定
在这里插入图片描述
在数据字段中获取字段
在这里插入图片描述
点击确定后启动

在这里插入图片描述
查看数据库中的表
在这里插入图片描述

<think>我们根据引用的内容,尤其是引用[1]和引用[2],来整理一个配置教程。用户需求是使用KettleExcel数据直接输出到数据库表。步骤可以分解为:1.新建转换2.配置输入Excel输入)3.配置输出(表输出)4.执行转换详细步骤:1.新建转换:在Kettle中,新建一个转换,然后从核心对象中拖入“Excel输入”和“表输出”两个组件,并用跳线(hop)连接起来(从Excel输入到表输出)。2.配置Excel输入:-在Excel输入中,指定Excel文件路径。-在工作表标签中,选择工作表(通常是第一个,但也可以按名称选择)。-在字段标签中,获取字段(可以点击“获取来自头部数据的字段”或手动添加字段)。3.配置表输出:-在表输出中,选择数据库连接(如果没有,需要新建)。-选择目标表(如果表不存在,需要先创建)。-如果目标表不存在,可以勾选“创建表”选项,或者提前在数据库中创建好表结构。-在“数据库字段”标签中,可以映射Excel字段到数据库表字段(一般会自动映射,检查一下)。4.执行转换:点击运行按钮,执行转换。注意引用[1]中提到,如果连接数据库时报错提示未安装jdbc驱动,需要将数据库对应的驱动jar包(如Oracle的ojdbc.jar)复制到Kettle运行目录下的lib文件夹中,并重启Kettle。引用[2]和引用[3]也提供了类似的步骤,尤其是引用[2]中提到了一个具体的例子(导入学生成绩到MySQL),步骤清晰。此外,引用[4]提到了一种批量处理多张表的方法,但用户当前需求只是单张表,所以可以不考虑。因此,我们按照以上步骤给出配置教程。</think> ### Kettle配置Excel直接输出到数据库表教程 以下教程基于Kettle 8.2版本(参考引用[1][2][3]),详细步骤如下: #### **1. 新建转换** - 打开Spoon → 文件 → 新建 → 转换 - 从左侧面板拖入 `Excel输入` 和 `表输出` 组件 - 按住Shift键连接两个组件(箭头从 `Excel输入` 指向 `表输出`) ![转换示意图](https://example.com/kettle-flow.png) #### **2. 配置Excel输入** ① **文件选项卡** - 点击 `浏览` 选择Excel文件路径(如 `D:/data.xlsx`) - 文件类型选择 `Microsoft Excel`[^1] ② **工作表选项卡** - 点击 `获取工作表名称` → 选择目标工作表 - 勾选 `头部行存在`(第一行为列名)[^2] ③ **字段选项卡** - 点击 `获取来自头部数据的字段` 自动识别列名 - 手动调整字段类型(如数值/日期) ```text | 名称 | 类型 | |------------|----------| | student_id | 整数 | | score | 数字 | | exam_date | 日期 | ``` #### **3. 配置表输出** ① **数据库连接**(以MySQL为例) - 点击 `新建` → 填写数据库信息 ```text 连接名称: my_db 主机名: localhost 数据库名: test 端口: 3306 用户名/密码: root/123456 ``` - **关键步骤**:将MySQL驱动包(如 `mysql-connector-java-8.0.28.jar`)放入 `kettle/lib` 目录[^3] ② **目标表设置** - 目标表:输入表名(如 `exam_scores`) - **勾选选项**: ☑ 指定数据库字段 ☑ 使用批量插入 ☑ 裁剪表(清空旧数据) ③ **字段映射** - 点击 `输入字段映射` → 自动匹配Excel列与表字段 ```text Excel字段 → 表字段 student_id → student_id score → score ``` #### **4. 执行转换** - 点击 ▶ 运行 → 确认记录数/状态 ```text 成功日志示例: Excel输入: 100行记录 表输出: 成功插入100行到表exam_scores ``` #### **常见问题解决** 1. **驱动报错**(引用[1]): - Oracle驱动 → 拷贝 `ojdbc8.jar` 到 `kettle/lib` - MySQL驱动 → 使用5.1.x以上版本 2. **表不存在**(引用[2][3]): - 在 `表输出` → `SQL` 按钮生成建表语句 - 或提前手动建表: ```sql CREATE TABLE exam_scores ( student_id INT, score DECIMAL(5,2), exam_date DATE ); ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值