场景导入:别再做办公室里的“人肉复制机”
兄弟姐妹们,我是 N8N大学 的主编指南针。

你是不是也经历过这样的绝望:每天早上,系统导出一堆 CSV,销售后台导出另一堆 Excel,然后你打开 Excel,VLOOKUP 一顿操作猛如虎,最后还得把数据整理成老板要的格式。如果哪天数据量大一点,文件一多,卡死是小事,一旦公式引用错误,全是泪。
在 N8N大学,我们坚信:**凡是重复的手工操作,都是对生命的浪费。**
今天,笔者就带大家硬核拆解 n8n 中的“表格神器”——Spreadsheet File 节点。学完这篇,你不仅能搞定 CSV/Excel 的读写,还能把这部分流程嵌入到任何复杂的自动化流水线里。
准备工作:一把趁手的兵器
工欲善其事,必先利其器。在开始之前,请确保你已经:
- 拥有一个可用的 n8n 环境(本地或云服务器均可)。
- 准备好了一份待处理的 Excel 或 CSV 文件(放在 n8n 可以访问的目录下,或者我们直接在流程中生成)。
注意:本教程默认你使用的是 n8n 的默认工作目录,如果你是云部署,请注意文件路径的权限问题。
核心实操:从“读取”到“生成”的全流程
我们将分两步走:第一步,读取表格数据;第二步,生成新的表格文件。这是最经典的自动化组合拳。
步骤一:使用 Spreadsheet File 节点读取数据
想象一下,你有一个名为 sales_data.csv 的文件,里面全是原始销售数据。我们需要把它读进 n8n 的数据流里。
- 新建一个 Workflow,点击“+”号添加节点,搜索并选择 Spreadsheet File。
- Operation(操作):选择 Read File。这是核心参数,决定了节点是读还是写。
- File Format(文件格式):根据你的文件选,支持 CSV、Excel (.xlsx) 等。笔者建议新手先用 CSV 测试,容错率高。
- Binary Property:这里有个坑,但别慌。如果你是通过 Read Binary File 节点读取的本地文件,这里填默认的
data即可。如果你直接输入文件路径(File URL),n8n 会自动处理。 - Sheet Name:如果是 Excel 且包含多个 Sheet,这里务必填写准确的 Sheet 名称(例如
Sheet1)。如果是 CSV,忽略此项。
运行一下节点,你会看到输出的 JSON 数据。n8n 已经聪明地把你的表格行变成了一个个 JSON 对象。这一步完成,你就拥有了处理数据的基础。
步骤二:使用 Spreadsheet File 节点生成表格
数据处理完了(比如经过了 Filter 过滤,或者 Set 节点修改),现在要把它导出成一个新的文件。
继续添加一个 Spreadsheet File 节点(或者复用上一个节点并清除配置)。
- Operation(操作):这一次,我们要改为 Write to Disk(写入磁盘)或者 Generate Binary File(生成二进制文件用于下载/发送邮件)。
笔者注:如果你只是想生成文件发给别人,选 Generate Binary File;如果想直接存到服务器上,选 Write to Disk。 - File Format:依然选择你需要的格式,比如 Excel。
- Binary Property:如果上一步是 Generate Binary File,这里通常保持默认
data,或者你自定义的属性名。 - File Name:给生成的文件起个名,支持动态命名,例如
report_{{$now}},这样每次生成的文件名都带有时间戳。
配置好这些,点击运行。恭喜你,你已经完成了一个完整的“读取-处理-生成”闭环。
避坑指南:这些细节决定成败
虽然 Spreadsheet File 节点很强大,但新手常在阴沟里翻船。笔者总结了两个最典型的坑:
1. CSV 的编码问题(乱码)
有些 CSV 文件在 Excel 里打开是正常的,但被 n8n 读取后,中文全是乱码。这是因为 CSV 缺乏元数据,n8n 默认可能使用了 UTF-8,而你的 Excel 可能是 GBK 导出的。
解决方案: 在 Spreadsheet File 节点的下方加一个 Set 节点,对数据进行重新编码处理,或者在读取时尝试调整编码参数(如果节点支持)。最简单的办法:尽量统一使用 UTF-8 格式的 CSV。
2. Excel 文件锁定问题
如果你尝试往一个正在被 Excel 软件打开的文件写入数据,n8n 会报错,提示文件被占用。
解决方案: 确保写入的目标文件没有被任何程序打开。或者,养成好习惯,生成的文件不要覆盖原文件,而是生成新文件(例如
output_v2.xlsx)。
FAQ 问答:你可能遇到的疑问
Q1: 我能处理超过 10 万行的大数据吗?
A: 笔者建议,处理超大 Excel 文件(几十万行)时,尽量转换为 CSV 格式处理,或者分批次处理。n8n 内存占用会随着文件变大而飙升,单次处理几百兆的 Excel 可能会导致 Worker 挂掉。
Q2: 读取 Excel 时,表头(第一行)被当成数据了怎么办?
A: 在 Spreadsheet File 节点中,留意 Include Header 或类似的选项。通常 n8n 会自动识别第一行为 Key(键),如果你的数据第一行不是表头,需要手动调整数据流。
Q3: 这个节点支持读取 Google Sheets 吗?
A: 不支持。Google Sheets 有自己专属的 Google Sheets 节点,功能更强大,支持直接在线读写。Spreadsheet File 专门处理本地/服务器上的文件。
总结与资源
掌握了 Spreadsheet File 节点,你就打通了 n8n 与本地文件系统交互的任督二脉。从今天起,告别手动整理表格,把时间留给更有价值的思考。
如果你在实操中遇到报错,或者有更高级的用法(比如动态合并多个 Sheet),欢迎在 N8N大学 的评论区留言,笔者会一一解答。
延伸阅读:
- n8n 官方文档 - Spreadsheet File 节点
- N8N大学:如何使用 HTTP Request 节点抓取网页数据并生成 Excel