Class Filter

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.
Filtrar

Use esta classe para modificar os filtros atuais nas planilhas de Grid, o tipo padrão de planilha. As planilhas de grade são páginas normais com dados que não estão conectados a um banco de dados.

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

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

Usos comuns

Remover um filtro

O exemplo abaixo recebe 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();

Acessar o intervalo a que o filtro se aplica

A amostra 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 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 o critério 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) no 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 ver mais detalhes sobre os critérios de filtro, encadeie esse método com os 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's é 2.

Retornar

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

Retornar

Range: o intervalo do filtro. Para descobrir 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 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 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 o critério 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's é 2.

Retornar

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's é 2.
filterCriteriaFilterCriteriaSão os critérios do 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).

Retornar

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 do cabeçalho) no 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 de índice 1 da coluna. Por exemplo, o índice da coluna B's é 2.
ascendingBooleanSe true, classifica o intervalo filtrado em ordem crescente. Se false, classifica o intervalo filtrado em ordem decrescente.

Retornar

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