惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
T
The Blog of Author Tim Ferriss
V
Visual Studio Blog
GbyAI
GbyAI
B
Blog RSS Feed
H
Help Net Security
美团技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The Cloudflare Blog
Security Latest
Security Latest
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
P
Privacy & Cybersecurity Law Blog
J
Java Code Geeks
博客园 - 【当耐特】
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
人人都是产品经理
人人都是产品经理
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Threatpost
Schneier on Security
Schneier on Security
T
Tenable Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Latest news
Latest news
P
Proofpoint News Feed
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Know Your Adversary
Know Your Adversary
W
WeLiveSecurity
G
GRAHAM CLULEY
P
Palo Alto Networks Blog
The Hacker News
The Hacker News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
Recent Commits to openclaw:main
Recent Commits to openclaw:main
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V2EX - 技术
V2EX - 技术
MongoDB | Blog
MongoDB | Blog
博客园_首页
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threat Research - Cisco Blogs
T
Tor Project blog
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Hacker News - Newest:
Hacker News - Newest: "LLM"
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
月光博客
月光博客

博客园 - 慕容尘轩

DataX从入门到精通 第4课 ETL之DataX datax-web单表数据全量+增量同步 DataX从入门到精通 第3课 ETL之DataX datax-web单表数据同步 DataX从入门到精通 第2课 ETL之DataX 安装datax-web DataX从入门到精通 第1课 ETL之DataX 安装DataX kettle插件-excel插件,kettle读取excel动态表头,kettle根据列名读取excel kettle从入门到精通 第118课 ETL之kettle,kettle job串行、job并行、 job依赖使用教程 kettle从入门到精通 第117课 ETL之kettle,kettle调用his接口,入参和响应数据均为xml结构 kettle从入门到精通 第116课 ETL之kettle,线上排雷,踩坑复盘 kettle调度系统- XKG集成WebSpoon9.4,kettle脚本在线设计&测试&部署一站式解决方案,持续赋能企业 kettle从入门到精通 第115课 ETL之webspoon 全局异常/错误捕获-续 kettle从入门到精通 第114课 ETL之webspoon 全局异常/错误捕获 kettle从入门到精通 第113课 ETL之webspoon 多行转一行或者多行数据合并为一行 kettle调度系统- 脚本执行错误信息邮件预警,及时发现&解决问题,捍卫生产环境 kettle从入门到精通 第112课 ETL之kettle 数据库资源库,受不了了,逼我出大招 kettle调度系统- kettle数据库资源库,团队协作问题轻松拿捏 kettle调度系统- kettle文件资源库,轻松解决团队协作和脚本版本管理问题 kettle调度系统-1分钟提供接口供外部系统调用,配置简单,快速高效 kettle从入门到精通 第111课 ETL之kettle webspoon7的docker部署详细教程 kettle调度系统-carte集群服务调度,carte集群+算子级集群双集群,涡轮增压,性能拉满,赋能大中型企业 kettle调度系统-carte单体服务调度,支持多kettle版本部署,任务触发毫秒级响应0延迟 kettle从入门到精通 第110课 ETL之kettle webspoon的两种部署方式docker+tomcat使用教程 kettle调度系统-kettle spoon方式调度,强大兼容性,支持各种版本kettle kettle调度系统-kettle嵌入集成方式调度,稳如磐石,一分钟完成任务调度配置 kettle从入门到精通 第109课 ETL之kettle, kettle docker 镜像制作&容器部署
kettle从入门到精通 第119课 ETL之kettle kettle读取excel动态表头,kettle根据列名读取excel
慕容尘轩 · 2026-03-26 · via 博客园 - 慕容尘轩

场景:

前些日子有位博客园朋友留言,内容如下:

【你好 我遇到一个问题 在网上找了很多资料也无果
刚接手kettle 有一个业务是读取excel然后写入表中
但是excel表头会经常变动 导致程序运行失败 excel已经做了字段定义
但是模板变动后读取的数据 就对应不上字段
如定义字段
name 姓名
age 年龄
当模板变为 姓名 省份 年龄
那么读取的数据 age就变成了省份的数据
这有什么办法处理吗这种动态表头吗?
因为是程序自动运行的 没办法每次手动获取字段】

大概的意思就是excel文件的表头位置不是固定的,需要让kettle根据表头名称读取数据,大家都知道kettle自动的excel组件只能根据表头的位置进行读取,一旦表头字段位置发生改变,读取的数据就会错乱。

解决方案:此问题使用java步骤实现或者二开插件来解决,今天咱们一起来看下如何使用java步骤来解决此问题。

ed64ae49-a14f-407b-8134-cdfa219fc9a6

 1、准备test.xlsx文件

此文件有两个Sheet,每个Sheet里面都有字段姓名、年龄、部门、入职日期、薪资、联系电话、邮箱。

Sheet1

2fe2447f-50c1-4ce8-af27-2c0e20e9324f

 Sheet2

6ee4b45a-dea7-4e4b-80c8-f1f69f9721de

 2、设计trans

1)java步骤使用fastExcel读取excel文件,需要将fastexcel-reader-0.13.0.jar、fastexcel-core-1.2.0.jar、aalto-xml-1.3.2.jar三个文件放到lib目录下,放jar之后需要重启spoon

2)写日志步骤,打印读取到的数据

d0f7fc33-1d01-4a5a-9c36-ae3412429553

 3、Java步骤关键参数配置

1)设置文件路径filePath,可以在java步骤中写死,也可以通过变量excel_file进行传递

2) 设置读取哪些sheet

3)设置读取哪些列、字段名和字段对应的数据类型。

df70864c-c62b-477f-85fb-8b7edaa41f4f

 4)保存&运行,excel文件可以正常读取,另外此java步骤采用的流式方式读取文件,可以读取大的excel文件且内存占用较小。

82146e8b-3dcd-4e28-8e26-27ff1990c9e8

 4、打乱excel文件列顺序,重新读取

Sheet1,调整excel列的位置

b5379376-e9ac-4d44-92be-cb27c73ae7d0

 Sheet2,excel文件插入干扰列

839ab650-d394-49c5-b9fa-306a8233ea9f

 保存&执行,excel数据依然可以正确读取。

301410be-c301-4911-ae9e-53b8d93d36a5

image