【问题标题】:Close an open spreadsheet关闭打开的电子表格
【发布时间】:2016-12-15 16:29:26
【问题描述】:

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

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 关闭打开的电子表格的方法?

【问题讨论】:

    标签: google-apps-script google-sheets google-forms


    【解决方案1】:

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

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

    【讨论】:

    • 此方法适用于特定电子表格还是全部?如何确保它适用于我的电子表格和电子表格。
    • 该方法适用于所有电子表格;或者更确切地说,放到 SpreadsheetApp 中的待定更改池中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多