Как получить последовательность листа по названию листа - PullRequest
1 голос
/ 03 октября 2019

электронная таблица google-app-script (inputBookObj) имеет 3 листа

[0] "ABC"
[1] "DEF"
[2] "HIJ"

Как получить последовательность «1» по имени листа «DEF» без зацикливания всех листов в «inputBookObj»?

Я уже пробовал лист Class .getId (), который не возвращает последовательность.

var startSheetObj = inputBookObj.getSheetByName("DEF");
var startSheetId = startSheetObj.getSheetId();
for (var st_idx = startSheetId; st_idx >= 0; st_idx --) {

Я ожидаю, что startSheetId будет 1, но я получу 2050320780.

Ответы [ 2 ]

2 голосов
/ 03 октября 2019

GridId отличается от индекса листа. Вы можете использовать sheet.getIndex(), чтобы получить индекс листа в родительском.

var startSheetObj = inputBookObj.getSheetByName("DEF");
var startSheetId = startSheetObj.getIndex();//-1, if you want to start from 0
Logger.log(startSheetId);//logs 2
0 голосов
/ 03 октября 2019

Вы можете использовать метод getSheets ()

Пример:

var startSheetObj = inputBookObj.getSheets()[1];

Или вы хотите перебрать все листы электронной таблицы:

var sheets=inputBookObj.getSheets();
for (var st_idx = sheets.length; st_idx >= 0; st_idx --) {
...
}

Что касается идентификатора листа, то это число в конце URL таблицы, например, ...gid=0 означает, что идентификатор листа равен 0. Однако, если вы вставите второй лист, его идентификатор будет выглядеть примерно так: ...gid=1668900245 - последовательного порядка не будет, если вы не создадите этот лист с помощью Sheets API , где вы можете указать идентификатор новоголист.

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