繁体   English   中英

如何在Google脚本中使用.getLastRow()函数

[英]How to use the function .getLastRow() in google script

我对Google Script来说还很陌生,并且我一直在研究一系列困扰我的代码。 我想做的是使计算机读取电子表格中的一系列单元格,然后全部打印出来,但停在最后一行。 但是,正如我尝试在for循环中使用函数.getLastRow()或仅创建变量一样,它不起作用。 (有些部分的代码是多余的,并且与问题无关,因此您可以忽略它。)

function myFunction()
{

  var spreadSheet = SpreadsheetApp.openById("1F4zEJXKN3iobK8b89Ub94dd77Tdk70H0X8aFCSCmvRs");
  var activeSheetOne = spreadSheet.getSheetByName("New Family Responses");
  var activeSheetTwo = spreadSheet.getSheetByName("Existing Family Responses");

  var readingGender = activeSheetOne.getRange("E3:E").getValues();
  var lastRow = readingGender.getLastRow();
  var loopVar = 0;

  for (var i=0; i < lastRow; i++) {
    Logger.log(readingGender[loopVar][0]);
    loopVar = loopVar + 1;
  }

}

getLastRowSheetRange类的一种方法,它的简单含义是,每当您编写something.getLastRow()时, something一定是一个工作表或一个范围。 (正如Zig Mandel所指出的,范围方法的功能存在问题 ;通常用于工作表。)

在您的代码中, activeSheetOne是一个工作 ,应用getRange("E3:E")得到一个范围 ,然后应用getValues()得到一个值数组 这意味着您可以使用JavaScript方法和属性(而不是Google Apps Script方法)使用普通的JavaScript数组

因此,替换行var lastRow = readingGender.getLastRow(); 通过

var lastRow = readingGender.length;

其中length是数组的长度。

另外,同时具有iloopVar代码是forwhile循环的组合。 两者都不需要; 一个for循环就可以了。

for (var i=0; i < lastRow; i++) {
  Logger.log(readingGender[i][0]);
}

建议:在使用Google Apps脚本之前,请先通过Codecademy了解JavaScript的基础知识。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM