使用Google Apps脚本创建Google表格的副本

问题描述 投票:-2回答:3

我是谷歌应用程序脚本的新手。我需要帮助创建新的电子表格,使用现有的电子表格,并使用谷歌应用程序脚本将数据复制并分类到新创建的电子表格中。谁能帮我?

google-apps-script google-sheets
3个回答
4
投票

这样做的诀窍:

function copySpreadSheet(newSpreadSheetName) {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var data = sheet.getSheetValues(1, 1, 1000, 26);  
  var newSheet = SpreadsheetApp.create(newSpreadSheetName)
  newSheet.getSheetByName("Sheet1")
          .getRange(1,1,1000,26).setValues(data);

}

function main() {
  copySpreadSheet("some_Spreadsheet");
}

执行main后,您可以在驱动器文件列表中找到新的电子表格。如果要更改应复制的数据范围,请调整getSheetValues()方法,如下所示:getSheetValues(startRow,startColumn,numRows,numColumns)。不要忘记对getRange方法执行相同的操作,否则会出现错误。


0
投票

您可以使用这个更简单的代码:

function copySpreadSheet() {

  var s = SpreadsheetApp.openById("id"); 
  var destination = DriveApp.getFolderById("idOfFolder");
  DriveApp.getFileById("id_ofFile").makeCopy("New name", destination);
}

这将在新目标中创建文件的副本。


0
投票

SpreadsheetApp#spreadsheet类有一个方法copy

var wb = SpreadsheetApp.getActiveSpreadsheet();  
var new = wb.copy("Copy of " + wb.getName());

copy方法复制当前电子表格并返回对新电子表格的引用,因此可以执行其他任务(例如删除不需要的工作表,格式化范围,添加其他值等)。

© www.soinside.com 2019 - 2024. All rights reserved.