Google api GoogleSheetsAPI添加多行
我正试图弄明白这一点,我一定忽略了一些基本的东西。(我花了很长时间才意识到我没有扣动扳机。) 提交表单时,如果该页的行数不足,它将自动展开。我有一个对账页面,它逐行提取提交的数据,并分析差异(表单收集计费时间和任务) 因此,虽然Form Responses 1页面将展开,但我希望在Form submit上使用触发器向对账页面添加一行,并向下复制公式。但我似乎无法得到要添加的行。看看扩展行数的方法,我也不确定我做错了什么,但我认为我需要向我的计算机添加更多java功能 如果我只是简单地将示例复制并粘贴到一个新的工作表中,那么大多数代码都是黑色的,而不是标准的编辑器颜色。保存弹出“缺少;在语句之前。(第1行,文件“代码”)” 第一行是“import com.google.gdata.client.spreadsheet.* 那么,我可以用什么最基本的代码来添加那个空行呢? 然后首先:我需要导入一堆东西才能让这个(添加行)工作吗? 第二:如果是这样,并且我将图纸的所有权转让给某人,他们是否也需要进行导入? 第三:如果是这样,而且我想在另一台设备上进行编辑,我也需要在那里进行导入吗? 第四:该示例使用Update(),但我似乎在javascript或googlesheets api文档中找不到Update()函数 这是我正在尝试和注释的代码,似乎不起作用: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功能 如果我只是简单地将示例复制并
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几乎可以做任何工作,而无需将公式拉下来<代码>偏移量仅用于复制。