Class Filter

Фильтр

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