关闭打开的电子表格

Close an open spreadsheet

我有一个 Google 表单,它通过 Id 打开电子表格,然后从中获取数据行。我的情况是,有时当我打开电子表格以获取行时,似乎没有获取我最近插入的数据行。在这种情况下,我想断开当前与电子表格的连接并重新连接一个全新的连接,希望新连接 return 与最近插入的行。以下是我的代码:

var sheet = SpreadsheetApp.openById("google_spreadsheet_id").getSheets()[0];
var numOfDataRows = Number(sheet.getLastRow()) - Number(1);
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
var dataRows = sheet.getRange(2, 1, numOfDataRows, sheet.getLastColumn()).getValues();

我的问题是重新连接并建立一个全新的连接,我只是这样做:

var sheet = SpreadsheetApp.openById("google_spreadsheet_id").getSheets()[0];

有没有一种方法可以通过 Id 关闭打开的电子表格?

没有关闭电子表格这样的事情,但是有一种方法 SpreadsheetApp.flush() 可用于确保对电子表格的任何未决更改(例如行插入)在代码执行继续之前实际发生.

此外,如果您的脚本是由向表单提交数据触发的,最好直接从 event object 中检索数据,而不是从数据可能出现也可能不出现的电子表格中检索数据。