Class Filter

Фильтр

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