You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅将Google Sheets中的更新行同步至Excel?

Google Sheets增量同步到Excel的可行方案

方案1:Google Sheets API + Excel VBA(自定义程度高)

适合有一定编程基础的用户,完全可控同步逻辑:

  • 前置准备:在Google Cloud Console创建项目,启用Google Sheets API,生成服务账号密钥(JSON文件),将目标Google Sheets共享给服务账号的邮箱(确保有读取权限)。
  • 核心逻辑:
    1. 在Excel中预留一个隐藏工作表/单元格,记录上次同步的最后一行行号(或唯一标识,比如Jotform的提交ID)。
    2. 编写VBA脚本,调用Google Sheets API的spreadsheets.values.get接口,拉取上次同步点之后的所有新行数据。
    3. 将新行数据追加到Excel目标工作表的末尾,然后更新同步标记。
  • 定时刷新:可以用Windows任务计划配合VBS脚本触发Excel宏,或者用Excel内置的Application.OnTime方法设置定时执行。

简化版VBA核心代码片段:

Sub SyncNewRowsFromGoogleSheets()
    Dim targetWs As Worksheet
    Dim configWs As Worksheet
    Dim lastSyncedRow As Long
    Dim newData As Variant ' 存储从API获取的新行数据
    
    ' 初始化工作表
    Set targetWs = ThisWorkbook.Sheets("业务数据")
    Set configWs = ThisWorkbook.Sheets("同步配置")
    lastSyncedRow = configWs.Range("A1").Value ' 读取上次同步的最后行号
    
    ' --- 这里替换为调用Google Sheets API获取新行的逻辑 ---
    ' newData = GetGoogleSheetsData(lastSyncedRow + 1)
    
    ' 追加新数据到Excel
    If Not IsEmpty(newData) Then
        Dim lastRow As Long
        lastRow = targetWs.Cells(targetWs.Rows.Count, 1).End(xlUp).Row
        targetWs.Cells(lastRow + 1, 1).Resize(UBound(newData, 1), UBound(newData, 2)).Value = newData
        
        ' 更新同步标记
        configWs.Range("A1").Value = lastSyncedRow + UBound(newData, 1)
    End If
End Sub

方案2:Power Query(零代码/低代码)

适合普通用户,利用Excel内置工具实现增量加载:

  • 步骤1:打开Excel「数据」选项卡,选择「获取数据」>「从Google Sheets」,输入目标表格URL并完成授权,将数据加载到Power Query编辑器。
  • 步骤2:在编辑器中添加唯一标识列(比如Jotform的提交时间戳或ID),作为判断新行的依据。
  • 步骤3:设置增量筛选逻辑:
    1. 在Excel中预留单元格存储上次同步的最大唯一值(比如最新提交时间)。
    2. 打开Power Query高级编辑器,修改M脚本,添加筛选条件:仅加载唯一值大于该单元格的记录。
    3. 将查询结果加载到Excel,设置「数据」>「查询属性」中的刷新频率,实现定期增量同步。
  • 关键:每次刷新仅拉取新行,不会覆盖或重复加载旧数据。

方案3:Office Scripts(Excel 365/网页版专属)

如果使用Excel 365或网页版,用Office Scripts更便捷:

  • 步骤1:打开Excel网页版,进入「自动化」>「新建脚本」,编写TypeScript脚本,逻辑同VBA:读取同步标记、调用Google Sheets API拉取新行、追加到Excel并更新标记。
  • 步骤2:通过Excel「自动化」>「计划」功能,设置脚本定时执行;也可以配合Power Automate实现更灵活的触发规则。

方案4:低代码自动化工具(替代Zapier)

不想写代码的话,用低代码工具实现无代码同步:

  • 比如Microsoft Power Automate、国内的明道云连接器等,配置两个核心步骤:
    1. 触发器:当Google Sheets有新行添加时触发(或定时检查新行)。
    2. 动作:将新行数据写入Excel目标工作表的末尾。
  • 优势:无需处理API授权和代码,可视化配置即可完成。

内容的提问来源于stack exchange,提问作者Sophia98

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:55:30