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

时间:2014-12-10 14:49:55

标签: javascript google-apps-script

有没有办法可以在不使用任何循环的情况下将多行插入Google SpreadSheet。

只需使用Google Apps脚本执行此任务。

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[][]
}

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

2 个答案:

答案 0 :(得分:3)

我仍然不清楚你在寻找什么,但是这段代码从一张纸上获取数据,并将其插入另一张纸中:

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[][]
}

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

答案 1 :(得分:0)

我花了一些时间查看有关google app脚本的官方文档,基于此我可以确认您有很多方法可以实现这一目标,下面将介绍其中一种方法

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);