节点手册 · 读写

KNIME Excel Writer 写出 Excel 用法

IO → Write → Excel Writer

把结果写成 xlsx。多张表写进同一个工作簿的不同工作表也是它。最常见的事故是每月重跑时把上个月的结果覆盖掉了。

它解决什么问题

整条流程的最后一步。把数据表写成 Excel 文件交给人看 – 这是国内绝大多数分析流程的终点形态。

给人看的结果优先用它,不要用 CSV Writer。xlsx 自带编码信息,不存在中文乱码;能保留列类型,长编号不会被 Excel 显示成科学计数法;还能一个文件放多张工作表。CSV 留给需要跨系统导入的场合。

它在流程里的位置

GroupBy汇总
Sorter排序
Column Renamer列名规范化
Excel Writer出报表

前面加一个改名节点是有意的。汇总和透视之后列名会带上聚合方法,直接出报表不好看。

基本信息

英文原名Excel Writer
中文名称Excel 写出器(iModel 中文界面)
节点库位置IO → Write → Excel Writer
输入端口1 个数据表。拖动节点下缘可以增加,每个输入写成一张工作表
输出端口无。它是流程终点
单表行数上限受 Excel 格式限制,一张工作表约一百零四万行

配置项逐条

  • Output location输出路径

    写到哪个文件。用相对路径而不是绝对路径 – 工作流换台机器跑、或者交给同事,绝对路径必然失效。

  • If file exists文件已存在时

    覆盖、报错中止、或者往里追加工作表。这是最容易出事故的一项 – 选了覆盖,每月重跑会把历史结果冲掉。要留档就把月份写进文件名,让每次生成的是新文件。

  • Sheet name工作表名称

    每个输入端口对应一张工作表,各自命名。名字里不能有 Excel 不允许的字符,长度也有上限。

  • Write column headers写出列名

    默认写。给人看的报表当然要,写给程序读的中间文件才考虑关掉。

  • Write row ID写出行 ID

    默认不写。行 ID 是 KNIME 内部用的,出现在报表里只会让人困惑。除非你确实要用它对账,否则保持关闭。

  • Autosize columns自动列宽

    按内容自动调整列宽,省得收到报表的人还要手动拉。数据量很大时会拖慢写出速度。

Excel Writer 配置对话框
输出路径Output location
data/固定资产汇总_2026-09.xlsx 用相对路径。月份写进文件名就不会互相覆盖。
文件已存在时If file exists
覆盖报错中止追加工作表 选覆盖等于放弃历史结果。不确定就先选报错中止,出问题时它会拦住你。
工作表名称Sheet name
汇总表多个输入端口时逐个命名。
写出选项
写出列名写出行 ID自动列宽

三个常见坑

  1. 文件正被 Excel 打开着,写入失败。Windows 会锁住打开中的文件。报错信息说的是拒绝访问一类,容易被误解成权限问题。关掉 Excel 再跑即可。定时跑的流程要特别注意这一点 – 人手动打开看一眼,当晚的任务就会失败。
  2. 每月重跑覆盖了上个月的结果。「文件已存在时」选了覆盖,文件名又是固定的。修法是把日期写进文件名。要做成自动的,用 Table Row to Variable 把日期变成变量拼进路径。
  3. 报表里多出一列莫名其妙的编号。那是行 ID,「写出行 ID」被勾上了。关掉重跑。

什么时候该换别的节点

情况换成
结果要给别的系统导入CSV Writer,编码按对方要求设
要往已有 Excel 模板的指定位置填数Excel Writer 做不到保留模板格式,考虑用 Continental 系列扩展节点
结果要写回数据库DB Writer
只是想在 KNIME 里看一眼不用写文件,右键节点看输出表就行

写出失败或者结果被覆盖了

先确认文件没被 Excel 打开,再看「文件已存在时」选的是哪一项。

iModel 专属客服
网页直接对话,无需微信
4008568196 拨打此号码联系我们

微信扫码咨询

iModel 微信咨询二维码

使用微信扫描上方二维码