如何使用谷歌脚本在电子表格中插入多行

how to insert multiple rows in a spreadsheet using google script

本文关键字:插入 电子表格 何使用 谷歌 脚本      更新时间:2023-09-26

有什么方法可以在不使用任何循环的情况下将多行插入Google电子表格。

需要仅使用Google Apps Script执行此任务。

function testMultipleEntry(){
  var sheet = SpreadsheetApp.openById(INSERT-SHEET-ID);
  var mainSpreadSheet= sheet.getActiveSheet();
  
  var fiveRows= mainSpreadSheet.getRange(2, 1, 5,mainSpreadSheet.getMaxColumns() );
  
  var tempSheet= SpreadsheetApp.create("TestSheetAppend").getActiveSheet();
  
 
  fiveRows.copyValuesToRange(tempSheet, 1, mainSpreadSheet.getMaxColumns(), 2, 5);//used the array[][]
}

最后一行显示 -- 服务错误:电子表格

我仍然不清楚您要查找的内容,但是此代码从一张工作表中获取数据,并将其插入到另一张工作表中:

function enterData(){
  var ss = SpreadsheetApp.openById('SHEET-ID');
  var mainSheet= ss.getActiveSheet();
  var fiveRows= mainSheet.getRange(2, 1, 5,mainSheet.getMaxColumns());
  var createSheet= ss.insertSheet("TestSheetAppend");//This line will fail if a sheet by this name exists. 
  var tempSheet = ss.getSheetByName('TestSheetAppend');
  fiveRows.copyValuesToRange(tempSheet, 1, tempSheet.getMaxColumns(), 2, 5);//used the array[][]
}

如果您希望将其完全发送到另一个工作表,则可以修改此代码以执行此操作。

我花了一些时间查看有关Google应用程序脚本的官方文档,在此基础上,我可以向您确认有很多方法可以实现此目的,其中一种解释如下

getRange() + setValues()

示例代码

const startRowNumber = 1;
const starColumnNumber = 1;
const endRowNumber = dataToPut.length;
const endColumnNumber = dataToPut[0].length;
const range = sheet.getRange(startRowNumber, starColumnNumber, endRowNumber, endColumnNumber);
range.setValues(dataToPut);