Используйте этот класс для изменения существующих фильтров на листах Grid
(тип листа по умолчанию). Табличные листы — это обычные листы с данными, не подключенными к базе данных.
Если фильтр еще не существует на листе, создайте его с помощью 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 , если к столбцу не применены критерии фильтра. |
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
— Критерии фильтра.
Авторизация
Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :
-
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