Javascript Google脚本编辑器getRange在一列上花费10秒,在另一列上花费~0秒
我正在构建一个预算电子表格,将10多张表中的数据汇总到一张主表中。其中一个调用是Javascript Google脚本编辑器getRange在一列上花费10秒,在另一列上花费~0秒,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在构建一个预算电子表格,将10多张表中的数据汇总到一张主表中。其中一个调用是sheet.getRange(1,1,max_行)(或类似的东西)。该调用在第一列上大约需要10秒,但在其他列上需要接近0秒。这些调用中的每一个都位于相同大小的表上(大约75行) 我在每张工作表上运行这个调用,所以虽然10秒一次就可以了,但100秒以上的运行时间很长 下面是一段代码。我尝试了set 1和set 2,得到了相同的结果ss和cities在脚本的前面设置 var city_sheet = ss.getShe
sheet.getRange(1,1,max_行)代码>(或类似的东西)。该调用在第一列上大约需要10秒,但在其他列上需要接近0秒。这些调用中的每一个都位于相同大小的表上(大约75行)
我在每张工作表上运行这个调用,所以虽然10秒一次就可以了,但100秒以上的运行时间很长
下面是一段代码。我尝试了set 1
和set 2
,得到了相同的结果ss
和cities
在脚本的前面设置
var city_sheet = ss.getSheetByName(cities[i]);
var city_rows = city_sheet.getMaxRows();
// set one
var cat_range = city_sheet.getRange(1,1,city_rows).getValues(); // this one takes 10 seconds
var subcat_range = city_sheet.getRange(1,2,city_rows).getValues(); // ~0 sec
var value_range = city_sheet.getRange(1,4,city_rows).getValues(); // ~0 sec
// set two
var city_data = city_sheet.getRange(1, 1, city_rows, 4); // this one takes about 10 seconds
然后我循环遍历范围中的数据。有没有关于如何加快速度的想法
以下是整个剧本的要点:
谢谢 我想换一行:
var city_rows = city_sheet.getMaxRows();
致:
getLastRow()
将查找最后一行数据getMaxRows()
可以返回很多行,但其中没有任何内容
比如说。如果在一列中复制了很多公式。我不会使用getMaxRows()代码>我会使用getLastRow()
getLastRow()
将查找最后一行数据<代码>getMaxRows()代码>可以返回很多行,其中没有任何内容。如果这没有帮助,那么我很想知道A列中有什么?好吧,这很管用!整个脚本需要2秒。回答一下,我会记下来的。谢谢谢谢你让我知道。我补充了答案。
var city_rows = city_sheet.getLastRow();