getLastRow () не работает правильно в моем скрипте - PullRequest
0 голосов
/ 27 декабря 2018

Хорошо, так что это не работает:

var range = mainList.getRange(1, 1, 50, 5).getValues();
var numRows = range.getLastRow()-1;

Но это делает

var numRows = mainList.getLastRow()-1;

ЧИСТЫЙ диапазон?Так почему я получаю typeError?

TypeError: Невозможно найти функцию getLastRow в объекте DATA DATA DATA DATA DATA

1 Ответ

0 голосов
/ 27 декабря 2018

В этой ситуации мы можем сказать, что диапазон переменных на самом деле является двумерным массивом данных из ошибки, поэтому нет метода getLastRow().Однако существует range.length.

var range = mainList.getRange(1, 1, 50, 5).getValues();
var numRows = range.getLastRow()-1;

Трудно увидеть ценность вашего второго примера, так как мы не можем сказать, откуда появился mainList.Взгляните на mcve

Если mainList является электронной таблицей, тогда мы можем перейти к документации по электронной таблице здесь и в примере здесь мы видимчто мы можем определить диапазон в A1Notation, указав имя листа (иногда называемое вкладкой) следующим образом:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getRange("Invoices!A1:D4");

Лично мне обычно нравится тратить время на то, чтобы сделать что-то вроде этого:

var spreadsheet = SpreadsheetApp.getActive(); // or SpreadsheetApp.openById('ssid'); I Google Drive the ids are the primary key to locating files not names.  And you can get the id of a spreadsheet right of of the url whenever you open it up.
var sheet = spreadsheet.getSheetByName('sheetname');
var range = sheet.getRange(1,1,50,5);
var valuesArray = range.getValues();

Затем вы можете просмотреть массив значений, как показано ниже:

for(var i=0;i<valuesArray.length;i++){
  for(var j=0;j<valuesArray[i].length;j++){
     var cellvalue=valuesArray[i][j];
  }
}

Надеюсь, это поможет.Если вы уже знали об этом, я прошу прощения за то, что потратил ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...