Excel/表格与Postgres数据库之间的数据同步 - n8n 工作流

使用这个强大的n8n工作流实现无缝数据同步。利用n8n节点框架和Upsert(更新或插入)逻辑,双向同步Excel或Google表格中的数据到Postgres数据库。

工作流预览

准备好自动化了吗?

下载此 n8n 工作流模板并立即开始使用。

适用人群


  • 需要将表格数据推送到结构化SQL环境中的数据分析师。

  • 正从大量使用电子表格过渡到使用数据库驱动仪表盘的企业或组织。

  • 正在为数据迁移和同步寻找稳定可靠的n8n模板的n8n用户。

  • 需要可靠n8n工作流来处理复杂数据类型转换(如Excel日期格式)的开发者。

概览

要时刻保持频繁更新的电子表格与集中式数据库之间的数据一致性是很有挑战的。这个强大的n8n工作流通过提供一个可靠的同步管道来解决这个问题。它允许用户从Microsoft Excel(或使用类似连接的Google表格)读取表,并对PostgreSQL数据库执行智能的Upsert(更新或插入)操作。此n8n模板的一个关键特性是包含了一个定制的Code n8n节点,专门用于处理棘手的Excel日期序列号,确保数据在插入前保持完整性。通过利用多种n8n触发器选项,此n8n工作流提供了手动、定时或基于执行的同步灵活性,使其成为任何数据驱动操作的高度适应性解决方案。

工作原理

此n8n工作流由三个独立的n8n触发器节点之一启动,提供了最大的部署灵活性:


  1. 触发启动:同步可以通过点击Click Sync Excel -> DB n8n触发器(手动触发)立即启动,也可以通过Schedule Sync Excel -> DB n8n触发器(定时触发)定期执行,或者作为子工作流被Exec Sync Excel -> DB n8n触发器(执行工作流触发器)调用。

  2. 数据提取:无论使用哪个n8n触发器,流程都会进入Get Table Microsoft Excel n8n节点。此n8n节点连接到指定的电子表格和工作表(此模板中配置为'CLIENTS'),并检索最多200行数据。

  3. 数据清洗:数据随后流入Sanitize Date Code n8n节点。这个自定义脚本至关重要,因为Excel通常将日期存储为序列号(从1899年12月30日开始计算的天数)。该n8n代码节点会检测日期字段是数字还是字符串,将其转换为标准的JavaScript Date对象,然后统一格式化为MM/DD/YYYY。

  4. 数据库Upsert:最后,清洗过的数据到达Upsert Table Postgres n8n节点。此n8n节点对目标'clients'表执行'Upsert'操作。它使用no列作为匹配标识符(主键)。如果存在具有匹配no的行,则更新该行;否则,插入新行。得益于这个强大的n8n工作流,这确保了Postgres数据库完美同步并镜像Excel表格。

安装指南

要部署这个全面的n8n工作流,请遵循以下步骤:


  1. 导入n8n工作流:复制提供的JSON,通过n8n实例的“新建”菜单和“从JSON导入”选项直接导入。

  2. 配置Microsoft Excel凭据:找到Get Table Microsoft Excel n8n节点。您必须设置或选择OAuth2凭据,以授予n8n访问您的Excel Online或OneDrive文件的权限。确保选择了正确的电子表格和工作表名称。

  3. 配置Postgres凭据:打开Upsert Table Postgres n8n节点。您需要创建或选择一组凭据,提供PostgreSQL实例所需的主机、数据库名称、用户名和密码等连接详细信息。

  4. 表结构映射:验证来自Excel n8n节点的输入列名是否与PostgreSQL表(clients)中的目标列名完全匹配。为方便起见,Postgres n8n节点配置为'autoMapInputData'。

  5. 测试:选择一个n8n触发器节点(例如Click Sync Excel -> DB)并执行n8n工作流以测试同步。

节点详情

Click Sync Excel -> DB (手动触发器):作为即时的手动启动点,支持按需进行数据同步。
Schedule Sync Excel -> DB (定时触发器):这个强大的n8n触发器允许自动化程序在预定时间间隔(例如每小时、每天)自动运行,以确保持续同步。
Get Table (Microsoft Excel n8n节点):连接到Microsoft Excel/OneDrive以获取数据。它被配置为从'CLIENTS'工作表中拉取所有行(在定义的限制内),启动此n8n模板的数据流。
Sanitize Date (Code n8n节点):一个关键的自定义Code n8n节点。其功能是转换复杂的日期格式,专门处理Excel的数字日期序列化(自1899年以来的天数)和各种日期字符串格式,将它们标准化为MM/DD/YYYY,以实现一致的数据库存储。


  • Upsert Table (Postgres n8n节点):最终操作节点。它执行'Upsert'操作,依靠no列来匹配记录。这确保了n8n工作流能高效地更新现有数据库条目而不是创建重复项,这对强大的数据同步至关重要。

相关 n8n 工作流

免费

节点: 7 节点
更新时间: 2025年12月26日
创建者

Experienced Operations and Workflow Manager with a Master’s degree in Electronics and Software Development. I specialize in designing and implementing efficient, automated systems that help teams save time, reduce errors, and scale with confidence. My expertise spans across business process optimization, automation platforms, and custom workflow solutions. Looking to streamline your operations? Book a consultation with me to explore tailored automation strategies and n8n-powered workflows.

精选*