javascript - getLastRow() 问题

标签 javascript google-apps-script google-sheets

我对 getLastRow() 有疑问。我认为这个函数应该返回有数据的最后一行。但是由于我正在处理的工作表在充满数据的行下方有更多的空行,函数似乎进入并选择执行时的最后空行而不是选择最后一行有数据的行,这可能不会是相同的。有人能告诉我如何解决这个异常吗?这是谷歌脚本错误还是我不清楚该怎么做?如果我没有说清楚,请提出进一步的问题。

最佳答案

工作表中是否有任何“整列”公式?是数组公式,还是一直向下复制的公式?即使这些公式旨在返回底部的空白单元格,getLastRow() 仍会捕获它们。

如果是这种情况,请尝试:

function getLastPopulatedRow(sheet) {
  var data = sheet.getDataRange().getValues();
  for (var i = data.length-1; i > 0; i--) {
    for (var j = 0; j < data[0].length; j++) {
      if (data[i][j]) return i+1;
    }
  }
  return 0; // or 1 depending on your needs
}

关于javascript - getLastRow() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10887461/

相关文章:

javascript - 如何在编辑表的单元格上方添加列

google-apps-script - 通过脚本删除工作表

javascript - Jquery - 在主页正文点击时隐藏 iframe 内容

javascript - 使用 BlueBird/Request-Promise 链接请求

javascript - 如何获取或 console.log @keyframes css 动画的颜色?

javascript - 仅部分使用 jquery 将 div 从左向右滑动

javascript - 我需要使用 JavaScript 循环运行一个有效的 Google App 脚本。 (PDF邮件合并)

google-apps-script - "for loop"未找到给定条件的行

javascript - 将 google 工作表中的一系列单元格作为 PDF 下载到本地计算机和其他自动化脚本的脚本?

zend-framework - 将 Zend_Gdata_Spreadsheets 用于公共(public)电子表格?