Используйте этот класс для изменения существующих фильтров на листах типа Grid sheets), которые являются листами по умолчанию. Листы типа «сетка» — это обычные листы с данными, не связанными с базой данных.
Если на листе еще нет фильтра, создайте его с помощью Range.createFilter() .
Для использования этого класса необходимо сначала получить доступ к фильтру листа, используя Range.getFilter() или Sheet.getFilter() .
Распространенные способы применения
Удалите фильтр
Приведённый ниже пример получает фильтр на активном листе и удаляет его.const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Removes the filter from the active sheet. filter.remove();
Укажите диапазон, к которому применяется фильтр.
В приведенном ниже примере фильтр применяется к активному листу, а затем метод `get Range() из этого класса используется для вывода в консоль диапазона, к которому применяется фильтр. const ss = SpreadsheetApp.getActiveSheet(); // Gets the existing filter on the active sheet. const filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
Методы
| Метод | Тип возвращаемого значения | Краткое описание |
|---|---|---|
get Column Filter Criteria(columnPosition) | Filter Criteria |null | Получает критерии фильтрации для указанного столбца или null , если к столбцу не применены критерии фильтрации. |
get Range() | Range | Получает диапазон, к которому применяется данный фильтр. |
remove() | void | Удаляет этот фильтр. |
remove Column Filter Criteria(columnPosition) | Filter | Удаляет критерии фильтрации из указанного столбца. |
set Column Filter Criteria(columnPosition, filterCriteria) | Filter | Задает критерии фильтрации для указанного столбца. |
sort(columnPosition, ascending) | Filter | Сортирует отфильтрованный диапазон по указанному столбцу, исключая первую строку (заголовочную строку) в диапазоне, к которому применяется этот фильтр. |
Подробная документация
get Column Filter Criteria(columnPosition)
Получает критерии фильтрации для указанного столбца или null , если к столбцу не применены критерии фильтрации.
Чтобы получить более подробную информацию о критериях фильтрации, объедините этот метод с методами из класса Filter Criteria .
const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Gets the filter criteria applied to column B of the active sheet // and logs the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); console.log(filterCriteria);
Параметры
| Имя | Тип | Описание |
|---|---|---|
column Position | Integer | Индекс столбца, начинающийся с 1. Например, индекс столбца B равен 2. |
Возвращаться
Filter Criteria |null — Критерии фильтрации.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Range()
Получает диапазон, к которому применяется данный фильтр.
// Gets the existing filter on the active sheet. const ss = SpreadsheetApp.getActiveSheet(); const 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. const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); filter.remove();
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Column Filter Criteria(columnPosition)
Удаляет критерии фильтрации из указанного столбца.
// Removes the filter criteria from column B. const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); filter.removeColumnFilterCriteria(2);
Параметры
| Имя | Тип | Описание |
|---|---|---|
column Position | Integer | Индекс столбца, начинающийся с 1. Например, индекс столбца B равен 2. |
Возвращаться
Filter — Фильтр для создания цепочек.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Column Filter Criteria(columnPosition, filterCriteria)
Устанавливает критерии фильтрации для указанного столбца. Сначала создайте конструктор критериев фильтрации с помощью Spreadsheet App.newFilterCriteria() . Затем добавьте критерии в конструктор, используя класс Filter Criteria Builder . После создания критериев установите их в качестве параметра filter Criteria для этого метода.
const ss = SpreadsheetApp.getActiveSheet(); const 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);
Параметры
| Имя | Тип | Описание |
|---|---|---|
column Position | Integer | Индекс столбца, начинающийся с 1. Например, индекс столбца B равен 2. |
filter Criteria | Filter Criteria | Критерии фильтрации для установки. Если вы установите критерий равным null , это удалит критерии фильтрации из указанного столбца. Вы также можете использовать remove Column Filter Criteria(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. const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); filter.sort(2, true);
Параметры
| Имя | Тип | Описание |
|---|---|---|
column Position | Integer | Индекс столбца, начинающийся с 1. Например, индекс столбца B равен 2. |
ascending | Boolean | Если true , отфильтрованный диапазон сортируется в порядке возрастания; если false , отфильтрованный диапазон сортируется в порядке убывания. |
Возвращаться
Filter — Фильтр для создания цепочек.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets