Используйте этот класс для изменения существующих фильтров на листах Grid
, типе листа по умолчанию. Листы сетки — это обычные листы с данными, которые не связаны с базой данных.
Если на листе еще нет фильтра, создайте его с помощью Range.createFilter()
.
Чтобы использовать этот класс, вы должны сначала получить доступ к фильтру листа сетки, используя Range.getFilter()
или Sheet.getFilter()
.
Общее использование
Удалить фильтр
Пример ниже получает фильтр на активном листе и удаляет его.let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Removes the filter from the active sheet. filter.remove();
Получить диапазон, к которому применяется фильтр
Пример ниже получает фильтр на активном листе, а затем использует методgetRange()
из этого класса для регистрации диапазона, к которому применяется фильтр.let ss = SpreadsheetApp.getActiveSheet(); // Gets the existing filter on the active sheet. let filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
Методы
Метод | Тип возврата | Краткое описание |
---|---|---|
getColumnFilterCriteria(columnPosition) | FilterCriteria | Получает критерии фильтрации для указанного столбца или null , если к столбцу не применены критерии фильтрации. |
getRange() | Range | Получает диапазон, к которому применяется этот фильтр. |
remove() | void | Удаляет этот фильтр. |
removeColumnFilterCriteria(columnPosition) | Filter | Удаляет критерии фильтра из указанного столбца. |
setColumnFilterCriteria(columnPosition, filterCriteria) | Filter | Задает критерии фильтрации для указанного столбца. |
sort(columnPosition, ascending) | Filter | Сортирует отфильтрованный диапазон по указанному столбцу, исключая первую строку (строку заголовка) в диапазоне, к которому применяется этот фильтр. |
Подробная документация
getColumnFilterCriteria(columnPosition)
Получает критерии фильтрации для указанного столбца или null
, если к столбцу не применены критерии фильтрации.
Чтобы получить дополнительные сведения о критериях фильтра, свяжите этот метод с методами класса FilterCriteria
.
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Gets the filter criteria applied to column B of the active sheet // and logs the hidden values. let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); console.log(filterCriteria);
Параметры
Имя | Тип | Описание |
---|---|---|
columnPosition | Integer | 1-индексированная позиция столбца. Например, индекс столбца B равен 2. |
Возвращаться
FilterCriteria
— Критерии фильтра.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange()
Получает диапазон, к которому применяется этот фильтр.
// Gets the existing filter on the active sheet. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
Возвращаться
Range
— диапазон фильтра. Чтобы получить диапазон в нотации A1, свяжите этот метод с Range.getA1Notation()
.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove()
Удаляет этот фильтр.
// Removes the filter from the active sheet. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.remove();
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeColumnFilterCriteria(columnPosition)
Удаляет критерии фильтра из указанного столбца.
// Removes the filter criteria from column B. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.removeColumnFilterCriteria(2);
Параметры
Имя | Тип | Описание |
---|---|---|
columnPosition | Integer | 1-индексированная позиция столбца. Например, индекс столбца B равен 2. |
Возвращаться
Filter
— Фильтр для цепочки.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setColumnFilterCriteria(columnPosition, filterCriteria)
Задает критерии фильтрации для указанного столбца. Сначала создайте построитель критериев фильтра, используя SpreadsheetApp.newFilterCriteria()
. Затем добавьте критерии в конструктор с помощью класса FilterCriteriaBuilder
. После создания критериев установите его в качестве параметра filterCriteria
для этого метода.
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Builds the filter criteria to use as a parameter for setColumnFilterCriteria. const criteria = SpreadsheetApp.newFilterCriteria() .setHiddenValues(["Hello", "World"]) .build(); // Sets the filter criteria for column C. filter.setColumnFilterCriteria(3, criteria);
Параметры
Имя | Тип | Описание |
---|---|---|
columnPosition | Integer | 1-индексированная позиция столбца. Например, индекс столбца B равен 2. |
filterCriteria | FilterCriteria | Критерии фильтрации, которые необходимо установить. Если вы установите для критерия значение null , он удалит критерии фильтра из указанного столбца. Вы также можете использовать removeColumnFilterCriteria(columnPosition) . |
Возвращаться
Filter
— Фильтр для цепочки.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
sort(columnPosition, ascending)
Сортирует отфильтрованный диапазон по указанному столбцу, исключая первую строку (строку заголовка) в диапазоне, к которому применяется этот фильтр.
// Gets the existing filter and sorts it by column B in ascending order. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.sort(2, true);
Параметры
Имя | Тип | Описание |
---|---|---|
columnPosition | Integer | 1-индексированная позиция столбца. Например, индекс столбца B равен 2. |
ascending | Boolean | Если true , отфильтрованный диапазон сортируется в порядке возрастания; если false , сортирует отфильтрованный диапазон в порядке убывания. |
Возвращаться
Filter
— Фильтр для цепочки.
Авторизация
Сценарии, использующие этот метод, требуют авторизации в одной или нескольких следующих областях :
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets