Google api GoogleSheetsAPI添加多行

Google api GoogleSheetsAPI添加多行,google-api,google-sheets,google-spreadsheet-api,google-forms,Google Api,Google Sheets,Google Spreadsheet Api,Google Forms,我正试图弄明白这一点,我一定忽略了一些基本的东西。(我花了很长时间才意识到我没有扣动扳机。) 提交表单时,如果该页的行数不足,它将自动展开。我有一个对账页面,它逐行提取提交的数据,并分析差异(表单收集计费时间和任务) 因此,虽然Form Responses 1页面将展开,但我希望在Form submit上使用触发器向对账页面添加一行,并向下复制公式。但我似乎无法得到要添加的行。看看扩展行数的方法,我也不确定我做错了什么,但我认为我需要向我的计算机添加更多java功能 如果我只是简单地将示例复制并

我正试图弄明白这一点,我一定忽略了一些基本的东西。(我花了很长时间才意识到我没有扣动扳机。)

提交表单时,如果该页的行数不足,它将自动展开。我有一个对账页面,它逐行提取提交的数据,并分析差异(表单收集计费时间和任务)

因此,虽然Form Responses 1页面将展开,但我希望在Form submit上使用触发器向对账页面添加一行,并向下复制公式。但我似乎无法得到要添加的行。看看扩展行数的方法,我也不确定我做错了什么,但我认为我需要向我的计算机添加更多java功能

如果我只是简单地将示例复制并粘贴到一个新的工作表中,那么大多数代码都是黑色的,而不是标准的编辑器颜色。保存弹出“缺少;在语句之前。(第1行,文件“代码”)” 第一行是“import com.google.gdata.client.spreadsheet.* 那么,我可以用什么最基本的代码来添加那个空行呢? 然后首先:我需要导入一堆东西才能让这个(添加行)工作吗? 第二:如果是这样,并且我将图纸的所有权转让给某人,他们是否也需要进行导入? 第三:如果是这样,而且我想在另一台设备上进行编辑,我也需要在那里进行导入吗? 第四:该示例使用Update(),但我似乎在javascript或googlesheets api文档中找不到Update()函数

这是我正在尝试和注释的代码,似乎不起作用:

function onFormSubmit(e) {
Logger.log('form submit triggered') 
  var sheet = SpreadsheetApp.getActive()
  var sss = sheet.getSheetByName('Reconciliation')
  var col2 = sss.getRange("B:B");
  var col2val = col2.getValues();
  var counter = 0;
  var sssrange = sss.getDataRange();

//  sss.Rows = sss.getLastRow() + 1 //Object does not allow properties to be added or changed if I uncomment - this seems to match the google example line though
Logger.log(sss.getLastRow());//=8
  var newsssrange = sssrange.offset(1,0); // didn't actually think this would work (since it also had the .update() part that previously didn't work for me) but came across it and was getting desparate.
//  sss.setRowCount(sss.getLastRow() + 1); // TypeError: Cannot find function setRowCount in object Sheet. 
Logger.log(sss.getLastRow()); //=8 
//  sss.Update();//TypeError: Cannot find function Update in object Sheet.
}

叹息。。。我仍然想知道如何添加更多的行,但我确实回答了我最初添加一行的需求,因为表单提交只添加一行。所以我要回答这个问题,因为我做了这么多的搜索,出于某种原因,这个问题从来没有出现过,也许有人会发现这个问题很有用,如果他们有相同的问题

function onFormSubmit(e) {
  var sheet = SpreadsheetApp.getActive()
  var sss = sheet.getSheetByName('Reconciliation')
  sss.appendRow(['']);
}
请注意,这会添加一个空行。如果您再次运行它,它将不会像appendRow()在最后一行数据之后添加第二个空行。如果你把一个字符串放在里面或者什么的,然后一遍又一遍地运行它,你会得到多行


我真的很想知道如何添加多行,因为这会出现,而且我似乎仍然缺少一些东西,可能是显而易见的。

您知道arrayformula可以自动生成新行吗。?如果将此公式粘贴到表2中:

=OFFSET(Sheet1!A1,,,counta(Sheet1!A:A))

然后将新值粘贴到Sheet1范围A:A中,然后在Sheet2上添加新行。

好的,这肯定会起作用。它可以很好地获取数据。但它并没有把公式拉下来。有没有一种方法可以做到这一点,这也是我一直在思考的问题?我想,你可以在arrayFormulas的帮助下完成所有的工作。有很多。现在,您需要的是在对账页面中添加一行,并向下复制公式。但ArrayFormulas几乎可以做任何工作,而无需将公式拉下来<代码>偏移量仅用于复制。