試算表/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 觸發器節點啟動,提供了最大的部署靈活性:


  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,並透過 'New' 選單和 'Import from JSON' 選項直接匯入到您的 n8n 實例中。

  2. 設定 Microsoft Excel 憑證: 找到 Get Table Microsoft Excel n8n 節點。您必須設定或選擇 OAuth2 憑證,以授予 n8n 存取您的 Excel Online 或 OneDrive 檔案的權限。請確保選取了正確的活頁簿 (Workbook) 和工作表 (Worksheet) 名稱。

  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 (手動觸發): 作為 n8n 工作流程的即時手動啟動點,允許隨需進行資料同步。
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.

精選*