Google apps script 复制阵列&;使用循环粘贴它

Google apps script 复制阵列&;使用循环粘贴它,google-apps-script,google-sheets,spreadsheet,Google Apps Script,Google Sheets,Spreadsheet,目标 我必须复制一系列数据并将其粘贴到另一个电子表格/工作表中 上下文 我设法以一种非常基本的模式构建脚本。在这些行下面,您将看到我的代码 在我的代码中,我创建了变量Personas,并将范围“A2;D5”保存到Personas中。然后我将数据粘贴到同一张表中的“F2:I2”范围内 问题 我想改进这个循环,因为这是一个只有4个值(4列=a:d)的非常简单的示例。如果我必须处理30列,我应该输入30行代码——每列一行 我怎样才能用一种更简单的方式处理它 塔克斯 函数copyAndPasteIt()

目标

我必须复制一系列数据并将其粘贴到另一个电子表格/工作表中

上下文

我设法以一种非常基本的模式构建脚本。在这些行下面,您将看到我的代码

在我的代码中,我创建了变量Personas,并将范围“A2;D5”保存到Personas中。然后我将数据粘贴到同一张表中的“F2:I2”范围内

问题

我想改进这个循环,因为这是一个只有4个值(4列=a:d)的非常简单的示例。如果我必须处理30列,我应该输入30行代码——每列一行

我怎样才能用一种更简单的方式处理它

塔克斯

函数copyAndPasteIt(){
var ssObjects=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('对象')
var personas=ssObjects.getRange(“A2:D5”).getValues()
Logger.log(角色)

对于(i=0;i您不需要为每个单元格使用循环,您可以使用“getRange(行、列、numRows、numColumns)”获取要复制的数据范围:

然后获取要粘贴数据的范围:

sheet.getRange(row, column, numRows, numColumns).setValues(array);
在这里,您可以找到一个不同的示例(性能也不同),可以一次写入一个单元格、一次写入一行或一次写入所有数据:

setValue(value)
不是唯一写入值的方法。特别是,请尝试
setValues(object[]])
。您必须为
getRange
使用一个备用方法签名-允许您指定行数和列数的签名最有用。
sheet.getRange(row, column, numRows, numColumns).setValues(array);