节点串
关键在第一个节点。它自己会遍历文件夹并把各文件纵向拼起来,输出的已经是一张完整的表。
不要用循环。很多人第一反应是 Loop Start 加 Loop End 逐个文件读。功能上能做到,但慢、要自己处理行 ID 撞车、画布还长。读取节点自带的文件夹模式是为这件事做的。
关键配置
只讲这个任务里必须改的几项,其余保持默认。参数的完整说明在 Excel Reader 那一篇里。
Excel Reader 文件夹模式
来源Read from
文件文件夹
改成文件夹,下面才会出现过滤和子目录的选项。
文件过滤Filter options
*.xlsx
务必设。同一个文件夹里常混着别的文件,不设会去读不该读的。
工作表选择Sheet selection
第一个工作表按序号按名称
批量读时别按名称。各文件的工作表名往往不完全一致,遇到一个对不上就整体失败。
表头所在行
按实际填
报表上方常有标题和制表日期。不设的话那些文字会变成列名。
附加来源文件列Append path column
勾上
这一项是整个任务的关键。勾上后每行会多一列记录它来自哪个文件 – 后面靠它区分月份,也靠它定位是哪个文件的数据有问题。
从文件名里取出月份
文件名如果是 固定资产_2026-03.xlsx 这种规律形式,用 String Manipulation 从来源文件列里截出月份,就得到了一个可以分组的维度。
// 从完整路径里取出月份,按你的文件名规律调整
substr($Path$, indexOf($Path$, “_”) + 1, 7)
写法要按实际文件名调整。规律不明显时,先点开输出表看一眼来源文件列长什么样再动手。
文件名不规律就别硬截。让出数据的人统一命名规则,比在这里写一段复杂的正则划算得多。这是能从源头解决就别在流程里绕的典型例子。
分步看一个文件夹怎么变成一张表
三个月报文件走完这条流程。点上一步下一步,看每一步之后表长什么样。琥珀色的格子是这一步新增或改动的地方。
三个结构相同的月报
文件名有规律,都是「固定资产_年-月.xlsx」。注意最后那个以 ~$ 开头的 – 那是有人正开着某个文件时 Excel 生成的临时文件,读它必然失败。
| 文件名 | 行数 | 说明 |
|---|---|---|
| 固定资产_2026-01.xlsx | 2 | 正常 |
| 固定资产_2026-02.xlsx | 1 | 正常 |
| 固定资产_2026-03.xlsx | 1 | 正常 |
| ~$固定资产_2026-03.xlsx | – | Excel 临时文件,要靠过滤条件排除 |
一个节点直接输出拼好的一张表
不需要循环,也不需要 Concatenate。勾了「附加来源文件列」之后多出最右边那一列 – 后面靠它区分月份,出问题时也靠它定位是哪个文件。
| 资产编号 | 所属部门 | 原值 | 来源文件 |
|---|---|---|---|
| FA-001 | 信息部 | 86000 | 固定资产_2026-01.xlsx |
| FA-002 | 行政部 | 4200 | 固定资产_2026-01.xlsx |
| FA-003 | 行政部 | 63000 | 固定资产_2026-02.xlsx |
| FA-004 | 信息部 | 7800 | 固定资产_2026-03.xlsx |
从文件名里截出月份
来源文件列是完整路径,按文件名规律截取即可。有了这一列,后面才能按月分组。文件名不规律的话,先让出数据的人统一命名,比在这里写复杂正则划算。
| 资产编号 | 所属部门 | 原值 | 月份 |
|---|---|---|---|
| FA-001 | 信息部 | 86000 | 2026-01 |
| FA-002 | 行政部 | 4200 | 2026-01 |
| FA-003 | 行政部 | 63000 | 2026-02 |
| FA-004 | 信息部 | 7800 | 2026-03 |
把用不上的列删掉
月份已经取出来了,完整路径那一列就不用带下去。列越早删越好 – 后面每一步的配置列表都短,运行也更省内存。
| 资产编号 | 所属部门 | 月份 | 原值 |
|---|---|---|---|
| FA-001 | 信息部 | 2026-01 | 86000 |
| FA-002 | 行政部 | 2026-01 | 4200 |
| FA-003 | 行政部 | 2026-02 | 63000 |
| FA-004 | 信息部 | 2026-03 | 7800 |
三个会绊住人的地方
- 文件夹里有 Excel 的临时文件。有人正开着某个文件时,同目录会生成一个以
~$开头的隐藏临时文件。文件过滤如果只写*.xlsx,它也符合条件,读它必然失败。跑之前确认没人开着文件,或者把过滤条件写得更具体一些。 - 某一个文件的结构和其他不一样。十二个文件里有一个多了一列或者表头位置不同,整个节点就失败。报错信息里通常会指出是哪个文件 – 这也是要勾「附加来源文件列」的另一个理由。修法是先统一模板,或者把那个特殊文件单独读。
- 列的顺序不同但列名相同。这个不影响 – 读取节点按列名对齐,不按位置。列名有细微差异(多个空格)才会出问题。
换成你的数据要改哪里
| 要改的地方 | 怎么改 |
|---|---|
| 文件夹路径 | 用相对路径,别用绝对路径。换台机器跑绝对路径必然失效 |
| 文件过滤条件 | 按你的文件命名规律写,尽量具体 |
| 表头所在行 | 打开一个样本文件数一下 |
| 取月份的表达式 | 按你的文件名规律改截取位置 |
| 要保留哪些列 | Column Filter 里选。列越早删越好,后面每一步都省事 |

