【n8n教程】:Convert to File 节点,将数据导出为任意格式

在日常工作中,我们经常需要将各种数据导出为不同的文件格式——有时候是 CSV 方便 Excel 打开,有时候是 JSON 用于 API 调用,有时候还需要转换成 HTML 在浏览器中查看。如果手工处理这些转换,既费时又容易出错。

Convert to File 节点 就是为了解决这个问题而生的。这个强大的 n8n 节点可以将任何数据快速转换成 CSV、Excel、JSON、HTML、ICS、ODS、RTF、Text 等多种格式,甚至能将 Base64 编码的图片恢复成真实文件。无需编码,完全可视化操作。

本教程将手把手教你如何使用 Convert to File 节点,让数据处理变得简单高效!


一、Convert to File 节点是什么?

核心功能

Convert to File 节点 是 n8n 中一个专门用于文件转换和导出的节点。它的主要作用是:

简单说,无论你的工作流获取的是来自数据库的数据、API 返回的 JSON、还是用户上传的图片,Convert to File 节点都能帮你将这些数据转换成你需要的文件格式,然后下载或发送给其他应用。

n8n Convert to File节点支持多种文件格式转换流程图
n8n Convert to File节点支持多种文件格式转换流程图

为什么需要这个节点?

想象一个场景:你有一个工作流,每天都从数据库中查询销售数据,然后你需要将这些数据导出为 Excel 文件发给老板。如果没有 Convert to File 节点,你需要:

  1. 1. 手动从数据库中导出数据
  2. 2. 用 Excel 打开
  3. 3. 整理格式
  4. 4. 保存发送

现在只需一个节点,自动完成!工作效率提升 10 倍。


二、支持的文件格式详解

Convert to File 节点支持 10 种主要的文件格式转换。下面逐一介绍:

1. CSV 格式(逗号分隔值)

什么是 CSV?

适用场景:

参数说明:

2. Excel 格式(XLSX 或 XLS)

XLSX 优势:

适用场景:

参数说明:

3. JSON 格式

什么是 JSON?

适用场景:

参数说明:

4. HTML 格式

特点:

适用场景:

5. ICS 格式(日历事件)

用途:

参数说明:

6. 其他格式


三、基础操作步骤

第一步:添加 Convert to File 节点

  1. 1. 在 n8n 工作流编辑器中,点击右侧的 "+" 按钮
  2. 2. 搜索 "Convert to File"
  3. 3. 点击添加该节点

    
    
    
  工作流示意:
[数据源] → [Convert to File] → [下载/发送]

第二步:配置基本参数

CSV 格式转换 为例:

  1. 1. 选择操作:在节点中选择 "Convert to CSV"
  2. 2. 设置输出字段:"data"(默认)
  3. 3. 输入文件名:如 "export_sales.csv"
  4. 4. 启用表头:勾选 "Header Row"

第三步:连接后续节点

转换完成后的数据通常会:


四、常见使用场景

场景 1:自动导出数据到 Excel

需求: 每周自动导出销售数据到 Excel,发送给老板

工作流设计:

  1. 1. 定时触发器(每周一早上 9 点)
  2. 2. 数据库查询节点(获取销售数据)
  3. 3. Convert to File 节点(转换为 XLSX)
  4. 4. 发送邮件节点(将文件作为附件发送)

优势: 完全自动化,无需手动操作

场景 2:将 API 数据导出为 JSON

需求: 从 REST API 获取数据,保存为本地 JSON 文件

工作流设计:

  1. 1. HTTP Request 节点(调用 API)
  2. 2. Convert to File 节点(转换为 JSON)
  3. 3. Write Files to Disk 节点(保存到本地)

场景 3:恢复 Base64 编码的图片

需求: API 返回的是 Base64 编码的图片,需要恢复为真实图片文件

工作流设计:

  1. 1. HTTP Request 节点(获取 Base64 数据)
  2. 2. Convert to File 节点(选择 "Move Base64 String to File")
  3. 3. 设置 MIME Type(如 "image/png")
  4. 4. Write Files 或上传到云存储

场景 4:批量生成 ICS 日历文件

需求: 为会议列表中的每个会议生成 ICS 日历事件

工作流设计:

  1. 1. 从表格读取会议信息
  2. 2. Convert to File 节点(每条记录生成一个 ICS 文件)
  3. 3. 发送到用户邮箱或上传到共享文件夹

五、实战案例:完整的数据导出工作流

案例描述

构建一个自动化工作流,实现以下功能:

完整工作流配置

工作流包含节点:

  1. 1. Manual Trigger(手动触发)
    • • 用途:允许我们手动执行工作流测试
  2. 2. HTTP Request(网络请求)
    • • 配置:下载来自 European Open Data Portal 的示例 CSV 文件
    • • URL 示例:https://data.europa.eu/data/datasets/venue-locations/sample.csv
  3. 3. Spreadsheet File(电子表格处理)
    • • 操作:读取和解析下载的 CSV 数据
    • • 输出:获取表格中的所有行和列
  4. 4. Convert to File(文件转换)
    • • 操作:Convert to XLSX
    • • 配置:
      • File Nameconverted_data.xlsx
      • Sheet NameData
      • Header Row:✓ 启用
      • Compression:✓ 启用(压缩文件体积)
  5. 5. Write Files to Disk(保存到本地)
    • • 目录:/tmp/n8n_exports/
    • • 文件名:同上配置

工作流执行流程图:


    
    
    
  开始
  ↓
[手动触发]
  ↓
[HTTP 请求] → 下载 CSV 文件(二进制数据)
  ↓
[电子表格处理] → 解析数据为表格
  ↓
[Convert to File] → 转换为 XLSX 格式
  ↓
[保存到磁盘] → 输出文件到本地
  ↓
完成

实际操作步骤

Step 1: 创建基础工作流


    
    
    
  1. 创建新的 n8n 工作流
2. 添加 Manual Trigger 节点

Step 2: 添加数据获取节点


    
    
    
  1. 添加 HTTP Request 节点
2. 设置 URL:https://data.europa.eu/data/datasets/veranstaltungsplaetze-potsdam/raw-data.csv
3. 方法:GET
4. 响应格式:JSON

Step 3: 添加数据处理节点


    
    
    
  1. 添加 Spreadsheet File 节点
2. Binary File Field Name:data(来自 HTTP Response)
3. First Row as Headers:✓ 启用

Step 4: 添加文件转换节点


    
    
    
  1. 添加 Convert to File 节点
2. Operation:Convert to XLSX
3. Put Output File in Field:data
4. File Name:exported_venues.xlsx
5. Sheet Name:Venues
6. Header Row:✓ 启用
7. Compression:✓ 启用

Step 5: 保存文件


    
    
    
  1. 添加 Write Files to Disk 节点
2. File Path:/tmp/n8n_exports/exported_venues.xlsx
3. Binary Data:true
4. 执行工作流

预期输出

完成后,你将获得:


六、常见问题解决

Q1: 为什么转换后的文件无法打开?

常见原因:

解决方法:

Q2: CSV 文件在 Excel 中显示乱码?

原因: 字符编码不匹配

解决方法:

  1. 1. 在 Convert to File 节点中找到 Encoding 选项
  2. 2. 尝试改为 "utf-8"、"gbk" 或 "utf-8-sig"(用于 BOM)
  3. 3. 重新执行工作流

Q3: 如何处理超大数据文件?

建议:

Q4: Base64 图片转换不成功?

常见错误: Base64 字符串包含 "data:image/png;base64," 前缀

正确做法:


    
    
    
  ❌ 错误:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...
✓ 正确:iVBORw0KGgoAAAANSUhEUgAAAAUA...

只传入 Base64 编码部分,移除 "data:image/...;base64," 前缀。


七、进阶技巧

技巧 1:动态文件名

使用表达式根据时间戳动态生成文件名:


    
    
    
  File Name: export_{{ $now.format('YYYY-MM-DD_HH-mm-ss') }}.xlsx

这样每次导出的文件都会带上执行时间戳,自动区分。

技巧 2:条件导出

根据不同条件导出不同格式:


    
    
    
  使用 IF 节点判断数据类型
- 如果是表格数据 → 转为 XLSX
- 如果是配置数据 → 转为 JSON
- 如果是事件数据 → 转为 ICS

技巧 3:批量处理

使用 Loop 节点处理大数据集,分批转换:


    
    
    
  [输入数据] → [Loop] → [Convert to File]
           ↓
      每次处理 100 条

技巧 4:错误处理

添加错误捕获节点,确保工作流稳定:


    
    
    
  Try/Catch 结构:
- 如果转换成功 → 发送成功通知
- 如果转换失败 → 记录日志 + 发送告警

八、工作流模板参考

推荐官方工作流模板

n8n 官方库中有多个现成的 Convert to File 工作流模板,你可以直接使用或修改:

  1. 1. "Get CSV from URL and Convert to Excel"
    • • 功能:从网络下载 CSV → 转换为 Excel
    • • 适用:定期数据抓取和转换
  2. 2. "Export n8n Cloud Execution Data to CSV"
    • • 功能:导出 n8n 执行记录为 CSV
    • • 适用:工作流监控和数据分析
  3. 3. "Automated Web Scraping: email a CSV, save to Google Sheets & Microsoft Excel"
    • • 功能:网页数据抓取 → 多格式导出 → 邮件发送
    • • 适用:数据挖掘和分享

快速开始

前往 n8n 界面:


    
    
    
  1. 点击左侧菜单 "Templates"
2. 搜索 "Convert to File"
3. 选择需要的模板 → "Use Template"
4. 根据自己需求修改
5. 保存并激活

九、性能优化建议

优化 1: 文件压缩

对于 Excel 和 ODS 格式,启用压缩可以显著减小文件体积:


    
    
    
  Compression: ✓ 启用
效果:通常可减小 30-50% 体积

优化 2: 批量处理

处理大数据集时,分批导出:


    
    
    
  单次处理行数不超过 10,000 行
每 10,000 行生成一个新文件
最后用脚本合并(可选)

优化 3: 异步处理

使用后台任务处理导出,不阻塞主工作流:


    
    
    
  主工作流(负责业务逻辑)
  ↓
触发子工作流(负责文件转换)
  ↓
独立处理,互不影响

十、总结与快速查询表

格式适用场景核心参数文件体积学习难度
CSV数据导出、表格交互Header Row, Delimiter
XLSX报表、多工作表Sheet Name, Compression⭐⭐
JSONAPI 交互、配置Mode, Format, Encoding⭐⭐
HTML网页报告、邮件Put Output File
ICS日历事件Event Title, Start, End极小⭐⭐⭐
Base64→File图片恢复MIME Type⭐⭐

快速决策指南


    
    
    
  我需要导出数据,应该用什么格式?

是否需要多工作表?
  ├─ 是 → XLSX
  └─ 否 → 是否给普通用户看?
       ├─ 是 → CSV 或 XLSX
       └─ 否 → JSON

是否涉及图片/二进制数据?
  ├─ 是 → Base64 to File
  └─ 否 → (参考上面流程)

是否需要网页展示?
  └─ 是 → HTML

十一、实战工作流 JSON

如果你想快速导入一个完整的工作流,可以使用以下 JSON 配置(这是一个简化的示例):


    
    
    
  {
  "nodes"
: [
    {

      "parameters"
: {},
      "name"
: "Manual Trigger",
      "type"
: "n8n-nodes-base.manualTrigger",
      "typeVersion"
: 1,
      "position"
: [250, 300]
    }
,
    {

      "parameters"
: {
        "operation"
: "toXlsx",
        "putOutputFileInField"
: "data",
        "options"
: {
          "fileName"
: "export_{{ $now.format('YYYY-MM-DD') }}.xlsx",
          "headerRow"
: true,
          "compression"
: true,
          "sheetName"
: "Data"
        }

      }
,
      "name"
: "Convert to File",
      "type"
: "n8n-nodes-base.convertToFile",
      "typeVersion"
: 1,
      "position"
: [500, 300]
    }

  ]
,
  "connections"
: {
    "Manual Trigger"
: {
      "main"
: [
        [

          {

            "node"
: "Convert to File",
            "type"
: "main",
            "index"
: 0
          }

        ]

      ]

    }

  }

}

总结

Convert to File 节点 是 n8n 中最实用的节点之一,它让文件格式转换变得轻而易举。无论你是要导出销售数据、备份配置文件、还是自动生成报表,这个节点都能帮你节省大量时间。

核心要点:

支持 10+ 种文件格式转换
完全可视化,无需编码
适用于各种自动化场景
性能优异,支持大文件处理
与其他 n8n 节点无缝集成

现在就开始建立你的第一个文件导出工作流吧!


引用链接

[1] 官方文档: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.converttofile/
[2] n8n系列教程: https://www.undsky.com/blog/?category=n8n%E6%95%99%E7%A8%8B#