且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何自动将数据从一个谷歌表格移动到另一个谷歌表格

更新时间:2022-11-09 14:33:08

这个示例脚本怎么样?请把它想成几个答案之一。这个脚本的流程如下。当您使用此脚本时,请将其复制并粘贴,然后运行 sample()

流程:



How about this sample script? Please think of this as one of several answers. The flow of this script is as follows. When you use this script, please copy and paste it and run sample().


  1. 输入活动工作表的源范围。
  2. 检索源范围。
  3. 输入目标电子表格的目的地范围。 从源范围中复制数据到目的地范围。


    • 复制了包含值,公式和格式的数据。



示例脚本:



Sample script :

function sample() {
  // Source
  var range = "a1:b5"; // Source range
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var srcrange = ss.getActiveSheet().getRange(range);

  // Destination
  var range = "c1:d5"; // Destination range,
  var dstid = "### file id ###"; // Destination spreadsheet ID
  var dst = "### sheet name ###"; // Destination sheet name
  var dstrange = SpreadsheetApp.openById(dstid).getSheetByName(dst).getRange(range);

  var dstSS = dstrange.getSheet().getParent();
  var copiedsheet = srcrange.getSheet().copyTo(dstSS);
  copiedsheet.getRange(srcrange.getA1Notation()).copyTo(dstrange);
  dstSS.deleteSheet(copiedsheet);
}

如果我误解了您的问题,我很抱歉。

If I misunderstand your question, I'm sorry.

此示例脚本从源电子表格的值复制到目标电子表格。

This sample script copies from values of source spreadsheet to destination spreadsheet.

function sample() {
  // Source
  var range = "a1:b5"; // Source range
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var srcrange = ss.getActiveSheet().getRange(range);

  // Destination
  var range = "c1:d5"; // Destination range,
  var dstid = "### file id ###"; // Destination spreadsheet ID
  var dst = "### sheet name ###"; // Destination sheet name
  var dstrange = SpreadsheetApp.openById(dstid).getSheetByName(dst).getRange(range);

  var dstSS = dstrange.getSheet().getParent();
  var sourceValues = srcrange.getValues();
  dstrange.setValues(sourceValues);
}