为了账号安全,请及时绑定邮箱和手机立即绑定

查找第一个空行的更快方法

查找第一个空行的更快方法

繁星淼淼 2019-12-27 09:11:48
我编写了一个脚本,每隔几个小时就会向Google Apps电子表格中添加新的一行。这是我发现第一个空行的功能:function getFirstEmptyRow() {  var spr = SpreadsheetApp.getActiveSpreadsheet();  var cell = spr.getRange('a1');  var ct = 0;  while ( cell.offset(ct, 0).getValue() != "" ) {    ct++;  }  return (ct);}它可以正常工作,但是当到达约100行时,它变得非常缓慢,甚至十秒钟。我担心到达数千行时,它会太慢,可能超时或更糟。有没有更好的办法?
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

Google Apps脚本博客上有一篇有关优化电子表格操作的文章,其中讨论了可以真正加快处理速度的批处理读写。我在具有100行的电子表格上尝试了您的代码,大约花了七秒钟。通过使用Range.getValues(),批处理版本需要一秒钟。


function getFirstEmptyRow() {

  var spr = SpreadsheetApp.getActiveSpreadsheet();

  var column = spr.getRange('A:A');

  var values = column.getValues(); // get all data in one call

  var ct = 0;

  while ( values[ct][0] != "" ) {

    ct++;

  }

  return (ct);

}

如果电子表格足够大,则可能需要以100行或1000行的块为单位获取数据,而不是获取整个列。


查看完整回答
反对 回复 2019-12-27
  • 3 回答
  • 0 关注
  • 699 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信