[英]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;
}
}
getLastRow
是Sheet和Range类的一种方法,它的简单含义是,每当您编写something.getLastRow()
时, something
一定是一个工作表或一个范围。 (正如Zig Mandel所指出的,范围方法的功能存在问题 ;通常用于工作表。)
在您的代码中, activeSheetOne
是一个工作表 ,应用getRange("E3:E")
得到一个范围 ,然后应用getValues()
得到一个值数组 。 这意味着您可以使用JavaScript方法和属性(而不是Google Apps Script方法)使用普通的JavaScript数组 。
因此,替换行var lastRow = readingGender.getLastRow();
通过
var lastRow = readingGender.length;
其中length
是数组的长度。
另外,同时具有i
和loopVar
代码是for
和while
循环的组合。 两者都不需要; 一个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.