
第一个Excel输出 选择 带有 defalut的字样的,第二个Excel中选择带有 new 字样的选项。




在Kettle(Pentaho Data Integration)中根据条件将MySQL数据导出到不同Excel文件,可通过以下步骤实现:
核心步骤
-
表输入
连接MySQL数据库并执行SQL查询,例如:
SELECT id, category, value FROM sales_data -
过滤记录 (关键步骤)
根据条件拆分数据流,例如:
- 条件1:
category = 'A'→ 输出到路径A - 条件2:
category = 'B'→ 输出到路径B - 默认条件 → 其他路径
- 条件1:
-
Excel输出
为每个分支配置独立的Excel文件:
- 路径A:
/output/sales_A.xlsx - 路径B:
/output/sales_B.xlsx - 默认路径:
/output/sales_other.xlsx
- 路径A:
转换流程示例
graph LR
A[表输入] --> B[过滤记录]
B -- 条件1 --> C[Excel输出 A]
B -- 条件2 --> D[Excel输出 B]
B -- 默认 --> E[Excel输出 Other]
详细配置说明
-
过滤记录设置
-
在
发送true数据给步骤选择对应Excel输出步骤 -
条件表达式示例(数值型):
category = 'A'
-
-
Excel输出配置
- 文件名:使用绝对路径(如
C:/export/data_A.xlsx) - 字段映射:自动继承上游字段
- 勾选
包含头部生成表头
- 文件名:使用绝对路径(如
-
优化建议
- 在表输入步骤使用
WHERE预过滤数据(减少内存占用) - 通过
字段选择删除不需要导出的列 - 大文件导出时启用
分批提交(每1万行写入一次)
- 在表输入步骤使用
注意事项:
- 确保MySQL驱动已放入Kettle的
lib目录- Excel输出路径需有写入权限
- 中文乱码问题可在表输入步骤设置
characterEncoding=utf8