我有一个谷歌应用程序脚本,从电子表格中提取数据。由于数据量的原因,我认为数据的获取速度非常慢。第一次调用此函数需要一秒钟:
sheet.getRange(row, coll).getValue()
我认为必须要创建全局变量,这些变量在电子表格打开时始终可用。我会将整个电子表格存储在打开状态并访问它,这应该快得多。但我找不到这个选项。
答案 0 :(得分:1)
您可以使用:sheet.getDataRange().getValues();
它将生成一个2D数组,其中包含工作表中的所有值,直到最后一行和包含数据的列。
例如,如果您在单元格A1:B10中有数据的工作表,然后是单元格E20中的数据,则.getDataRange()
方法将获得范围A1:E20,包括空单元格。
然后,您可以使用循环或过滤器来访问或修改数组。
没有更多信息或知道你想要达到的目标,这是我能给你的最佳方法。
注意:将整个电子表格存储在onOpen()上并不是一个好主意,因为除非您刷新或重新打开电子表格,否则不会对电子表格进行任何更改。