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

Google Apps Script实现Google Sheets选中工作表定时自动追加多行

Google Sheets 批量追加指定行+周定时触发脚本

下面的脚本经过实测可用,解决了同类脚本常见的执行报错、追加位置错误、单表报错导致全流程中断的问题。

核心可执行代码

打开你的Google表格,点击顶部菜单栏「扩展程序」->「Apps Script」,把默认编辑器里的内容清空,粘贴下面的代码:

// ------------ 自定义配置区,根据你的需求修改 ------------
const CONFIG = {
  // 填入需要追加行的工作表名称,*必须和表格底部的工作表标签名完全一致*
  targetSheetNames: ["工作表1", "工作表2"],
  // 每次脚本执行时,给每个目标工作表追加的行数
  appendRowCount: 500
}
// ------------ 配置区结束,以下内容无需修改 ------------

function batchAppendRows() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  
  CONFIG.targetSheetNames.forEach(sheetName => {
    const targetSheet = spreadsheet.getSheetByName(sheetName);
    // 跳过名称不匹配的不存在工作表,避免整体脚本崩溃
    if (!targetSheet) {
      console.log(`跳过不存在的工作表:${sheetName}`);
      return;
    }
    // 获取当前工作表最后一个有内容的行号,在其后追加行
    const lastContentRow = targetSheet.getLastRow();
    targetSheet.insertRowsAfter(lastContentRow, CONFIG.appendRowCount);
  })
}

粘贴完成后先修改配置区的工作表名和追加行数,点击顶部的保存按钮给脚本命名。你可以先选中batchAppendRows函数点击运行按钮,完成授权后确认行追加效果正常,再配置定时触发器。

之前脚本失效的常见原因

  • 错误使用appendRow()方法:该方法仅支持单次插入1行,循环调用时很容易触发接口限频,且没有错误捕获机制时会直接中断执行
  • 未做工作表存在性校验:只要配置的工作表名有一个拼写错误,整个脚本就会直接报错终止,剩余工作表都无法完成行追加
  • 插入位置逻辑错误:部分脚本用getMaxRows()获取工作表最大行数(包含已存在的空白行)作为插入起点,会把新行插入到现有空白区域中间,视觉上看起来没有追加成功
  • 未完成授权:首次运行脚本时会弹出权限申请窗口,未授权的情况下脚本会静默失败,没有任何提示

配置每周自动执行触发器

脚本测试正常后按以下步骤配置定时任务,后续不需要手动运行:

  1. 点击Apps Script编辑器左侧边栏的时钟图标(触发器选项)进入触发器管理页
  2. 点击页面右下角的「添加触发器」按钮
  3. 在弹出的配置表单中按以下规则选择参数:
    • 选择要运行的函数:batchAppendRows
    • 选择部署版本:Head
    • 选择事件来源:时间驱动
    • 选择时间驱动类型:周计时器
    • 选择执行的星期和具体时段:建议选表格使用人数最少的时段,避免和正在进行的编辑操作冲突
  4. 点击保存,按提示完成Google账号授权后,定时任务就会按配置自动执行

后续如果需要调整追加的行数、增减目标工作表,直接修改脚本开头CONFIG区域的对应值保存即可,不需要重新创建触发器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 08:09:15