Class Filter

Filtro

Utilizza questa classe per modificare i filtri esistenti nei fogli Grid, il tipo di foglio predefinito. I fogli a griglia sono fogli normali con dati non collegati a un database.

Se un filtro non esiste ancora nel foglio, creane uno utilizzando Range.createFilter().

Per utilizzare questa classe, devi prima accedere al filtro del foglio a griglia utilizzando Range.getFilter() o Sheet.getFilter().

Utilizzi comuni

Rimuovere un filtro

L'esempio seguente recupera il filtro nel foglio attivo e lo rimuove.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

Ottieni l'intervallo a cui si applica il filtro

L'esempio riportato di seguito recupera il filtro sul foglio attivo, quindi utilizza il metodo getRange() di questa classe per registrare l'intervallo a cui si applica il filtro.
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());

Metodi

MetodoTipo restituitoBreve descrizione
getColumnFilterCriteria(columnPosition)FilterCriteria|nullRecupera i criteri di filtro nella colonna specificata o null se alla colonna non sono stati applicati criteri di filtro.
getRange()RangeRestituisce l'intervallo a cui si applica questo filtro.
remove()voidRimuove questo filtro.
removeColumnFilterCriteria(columnPosition)FilterRimuove i criteri di filtro dalla colonna specificata.
setColumnFilterCriteria(columnPosition, filterCriteria)FilterImposta i criteri di filtro sulla colonna specificata.
sort(columnPosition, ascending)FilterOrdina l'intervallo filtrato in base alla colonna specificata, escludendo la prima riga (la riga di intestazione) dell'intervallo a cui si applica questo filtro.

Documentazione dettagliata

getColumnFilterCriteria(columnPosition)

Recupera i criteri di filtro nella colonna specificata o null se alla colonna non sono stati applicati criteri di filtro.

Per ulteriori dettagli sui criteri di filtro, concatena questo metodo con i metodi della classe FilterCriteria.

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

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione della colonna basata su un indice di 1. Ad esempio, l'indice della colonna B è 2.

Indietro

FilterCriteria|null: i criteri di filtro.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getRange()

Restituisce l'intervallo a cui si applica questo filtro.

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

Indietro

Range: l'intervallo del filtro. Per ottenere l'intervallo in notazione A1, concatena questo metodo con Range.getA1Notation().

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

remove()

Rimuove questo filtro.

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

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

removeColumnFilterCriteria(columnPosition)

Rimuove i criteri di filtro dalla colonna specificata.

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

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione della colonna basata su un indice di 1. Ad esempio, l'indice della colonna B è 2.

Indietro

Filter: il filtro, per il concatenamento.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

setColumnFilterCriteria(columnPosition, filterCriteria)

Imposta i criteri di filtro sulla colonna specificata. Innanzitutto, crea il builder dei criteri di filtro utilizzando SpreadsheetApp.newFilterCriteria(). Poi aggiungi i criteri al builder utilizzando la classe FilterCriteriaBuilder. Dopo aver creato i criteri, impostali come parametro filterCriteria per questo metodo.

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

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione della colonna basata su un indice di 1. Ad esempio, l'indice della colonna B è 2.
filterCriteriaFilterCriteriaI criteri di filtro da impostare. Se imposti i criteri su null, i criteri di filtro vengono rimossi dalla colonna specificata. Puoi anche utilizzare removeColumnFilterCriteria(columnPosition).

Indietro

Filter: il filtro, per il concatenamento.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

sort(columnPosition, ascending)

Ordina l'intervallo filtrato in base alla colonna specificata, escludendo la prima riga (la riga di intestazione) dell'intervallo a cui si applica questo filtro.

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

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione della colonna basata su un indice di 1. Ad esempio, l'indice della colonna B è 2.
ascendingBooleanSe true, ordina l'intervallo filtrato in ordine crescente; se false, ordina l'intervallo filtrato in ordine decrescente.

Indietro

Filter: il filtro, per il concatenamento.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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