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

如何通过Google Apps Script实现点击提交时复制源表行到目标表空行

实现Google Sheets数据复制的Apps Script代码

以下是满足需求的代码,点击提交按钮即可将Source Sheet的所有数据行(跳过表头)复制到Destination Sheet的最后一行空行:

function copySourceToDestination() {
  // 获取当前Spreadsheet实例
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  
  // 获取源表和目标表
  const sourceSheet = ss.getSheetByName('Source Sheet');
  const destSheet = ss.getSheetByName('Destination Sheet');
  
  // 获取源表中所有数据行(从第2行开始,跳过表头)
  const sourceData = sourceSheet.getDataRange().offset(1, 0).getValues();
  
  // 过滤掉源表中的空行(避免复制空数据)
  const filteredData = sourceData.filter(row => row.some(cell => cell !== ''));
  
  if (filteredData.length === 0) return; // 没有数据就终止执行
  
  // 获取目标表的最后一行空行位置
  const destLastRow = destSheet.getLastRow() + 1;
  
  // 将数据写入目标表
  destSheet.getRange(destLastRow, 1, filteredData.length, filteredData[0].length).setValues(filteredData);
}

代码说明

  • getSheetByName('Source Sheet') 和 getSheetByName('Destination Sheet'):如果你的表名不同,直接替换成实际表名即可
  • offset(1, 0):跳过源表的第一行表头,仅复制数据行
  • filter(row => row.some(cell => cell !== '')):过滤源表中的空行,避免无效数据写入目标表
  • getLastRow() + 1:精准定位目标表的最后一行空行,确保新数据追加在现有数据之后

添加提交按钮步骤

  1. 打开Google Sheet,点击顶部菜单栏 插入 → 绘图
  2. 绘制一个带“提交”文字的按钮样式图形,保存后关闭绘图窗口
  3. 右键点击工作表中的绘图按钮,选择 分配脚本
  4. 输入脚本名 copySourceToDestination,点击确定即可

现在点击这个按钮就能执行数据复制操作了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:59:53