Используйте этот класс для изменения существующих фильтров на листах 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