Class Filter

Filtrar

Use esta classe para modificar os filtros existentes em Grid páginas, o tipo padrão de folha As páginas de grade são folhas normais com dados que não estão conectadas a um banco de dados.

Se um filtro ainda não existir na página, crie um usando Range.createFilter().

Para usar essa classe, primeiro você precisa acessar o filtro da página de grade usando Range.getFilter() ou Sheet.getFilter().

Usos comuns

Remover um filtro

O exemplo abaixo obtém o filtro na página ativa e o remove.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

Consiga o intervalo ao qual o filtro se aplica

O exemplo abaixo usa o filtro na página ativa e usa o método getRange() da essa classe para registrar o intervalo ao qual o filtro se aplica.
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());

Métodos

MétodoTipo de retornoBreve descrição
getColumnFilterCriteria(columnPosition)FilterCriteriaRecebe os critérios de filtro na coluna especificada ou null se a coluna não tiver critérios de filtro aplicados a ela.
getRange()RangeRecebe o intervalo ao qual este filtro se aplica.
remove()voidRemove este filtro.
removeColumnFilterCriteria(columnPosition)FilterRemove os critérios de filtro da coluna especificada.
setColumnFilterCriteria(columnPosition, filterCriteria)FilterDefine os critérios de filtro na coluna especificada.
sort(columnPosition, ascending)FilterClassifica o intervalo filtrado pela coluna especificada, excluindo a primeira linha (a linha do cabeçalho) na o intervalo ao qual este filtro se aplica.

Documentação detalhada

getColumnFilterCriteria(columnPosition)

Recebe os critérios de filtro na coluna especificada ou null se a coluna não tiver critérios de filtro aplicados a ela.

Para obter mais detalhes sobre os critérios de filtro, encadeie este método com métodos do 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);

Parâmetros

NomeTipoDescrição
columnPositionIntegerA posição com índice 1 da coluna. Por exemplo, o índice da coluna B é 2.

Retornar

FilterCriteria: os critérios de filtro.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

Recebe o intervalo ao qual este filtro se aplica.

// 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());

Retornar

Range: o intervalo do filtro. Para conseguir o intervalo na notação A1, encadeie esse método com Range.getA1Notation().

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

Remove este filtro.

// Removes the filter from the active sheet.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.remove();

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeColumnFilterCriteria(columnPosition)

Remove os critérios de filtro da coluna especificada.

// Removes the filter criteria from column B.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

Parâmetros

NomeTipoDescrição
columnPositionIntegerA posição com índice 1 da coluna. Por exemplo, o índice da coluna B é 2.

Retornar

Filter: o filtro para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setColumnFilterCriteria(columnPosition, filterCriteria)

Define os critérios de filtro na coluna especificada. Primeiro, crie o criador de critérios de filtro usando SpreadsheetApp.newFilterCriteria(). Em seguida, adicione critérios ao criador usando a classe FilterCriteriaBuilder. Depois de criar seus critérios, defina-os como o Parâmetro filterCriteria para esse método.

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);

Parâmetros

NomeTipoDescrição
columnPositionIntegerA posição com índice 1 da coluna. Por exemplo, o índice da coluna B é 2.
filterCriteriaFilterCriteriaOs critérios de filtro a serem definidos. Se você definir o critério como null, ele remove os critérios de filtro da coluna especificada. Também é possível usar o removeColumnFilterCriteria(columnPosition).

Retornar

Filter: o filtro para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

sort(columnPosition, ascending)

Classifica o intervalo filtrado pela coluna especificada, excluindo a primeira linha (a linha do cabeçalho) na o intervalo ao qual este filtro se aplica.

// 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);

Parâmetros

NomeTipoDescrição
columnPositionIntegerA posição com índice 1 da coluna. Por exemplo, o índice da coluna B é 2.
ascendingBooleanSe for true, classifica o intervalo filtrado em ordem crescente. Se for false, classifica o intervalo filtrado em ordem decrescente.

Retornar

Filter: o filtro para encadeamento.

Autorização

Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets