谷歌脚本:在工作表中的工作表之间复制数据 - copyTo()无效

时间:2017-05-14 22:20:25

标签: google-apps-script google-sheets copy

我正在使用的脚本是在git上提供的。它旨在覆盖每天的数据。我想在每天结束时复制数据并将其写入另一张表以进行存档。我可以创建命名工作表并捕获数据,但是我在将数据粘贴到新工作表时遇到了问题。

function archiveSheet() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("copy_of_inverter_data");
  var sheetSiteInfo = ss.getSheetByName("details");

  //set archive sheet name
  var currentDate = Utilities.formatDate(sheetSiteInfo.getRange("B5").getValue(), "GMT", "yyyy-MM-dd");
  var nextSheet = "id_"+currentDate;
  // create sheet with current date
  ss.insertSheet(nextSheet);
  Logger.log(currentDate);
  Logger.log(nextSheet);

  //copy data to new sheet
  var range = sheet.getDataRange();
  var data = range.getValues();
  var destination = ss.getSheetByName(nextSheet);

  Logger.log(range);
  Logger.log(data);
  Logger.log(sheet);

  range.copyTo(nextSheet);//This line not working
}

1 个答案:

答案 0 :(得分:1)

这一行:

range.copyTo(nextSheet);

应该是:

range.copyTo(destination.getRange("A1"));

您正在使用copyTo(range)所需参数是一个范围。您使用nextSheet作为参数,这是一个字符串,而不是范围。