Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google脚本编辑器getRange在一列上花费10秒,在另一列上花费~0秒_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript Google脚本编辑器getRange在一列上花费10秒,在另一列上花费~0秒

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

我正在构建一个预算电子表格,将10多张表中的数据汇总到一张主表中。其中一个调用是
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();