Class Filter

Filtrar

Use essa classe para modificar os filtros existentes em Grid planilhas, o tipo padrão. As planilhas de grade são páginas comuns com dados que não estão conectados 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 planilha de grade usando Range.getFilter() ou Sheet.getFilter().

Usos comuns

Remover um filtro

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

Conferir o intervalo a que o filtro se aplica

O exemplo abaixo recebe o filtro na página ativa e usa o método getRange() dessa classe para registrar o intervalo a que 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 quando a coluna não tem critérios de filtro aplicados a ela.
getRange()RangeRecebe o intervalo ao qual este filtro se aplica.
remove()voidRemove esse 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 de cabeçalho) no intervalo a que esse filtro se aplica.

Documentação detalhada

getColumnFilterCriteria(columnPosition)

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

Para saber mais sobre os critérios de filtro, encadeie esse método aos métodos da classe 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 de índice 1 da coluna. Por exemplo, o índice da coluna B é 2.

Retorno

FilterCriteria: os critérios do filtro.

Autorização

Os scripts que usam esse método exigem 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());

Retorno

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

Autorização

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

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

remove()

Remove esse 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 exigem 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 de índice 1 da coluna. Por exemplo, o índice da coluna B é 2.

Retorno

Filter: o filtro para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 builder usando a classe FilterCriteriaBuilder. Depois de criar os 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 de índice 1 da coluna. Por exemplo, o índice da coluna B é 2.
filterCriteriaFilterCriteriaOs critérios de filtro a serem definidos. Se você definir os critérios como null, eles serão removidos da coluna especificada. Também é possível usar o removeColumnFilterCriteria(columnPosition).

Retorno

Filter: o filtro para encadeamento.

Autorização

Os scripts que usam esse método exigem 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 de cabeçalho) no intervalo a que esse 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 de índice 1 da coluna. Por exemplo, o índice da coluna B é 2.
ascendingBooleanSe true, classifica o intervalo filtrado em ordem crescente. Se false, classifica o intervalo filtrado em ordem decrescente.

Retorno

Filter: o filtro para encadeamento.

Autorização

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

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