Class Filter

Filtro

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

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

Per utilizzare questa classe, devi prima accedere al filtro del foglio della 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();

Ottenere l'intervallo a cui si applica il filtro

Il seguente esempio recupera il filtro nel 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)FilterCriteriaRecupera i criteri di filtro per la colonna specificata o null se alla colonna non sono applicati criteri di filtro.
getRange()RangeRecupera 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 per la colonna specificata.
sort(columnPosition, ascending)FilterOrdina l'intervallo filtrato in base alla colonna specificata, escludendo la prima riga (la riga di intestazione) nell'intervallo a cui si applica il filtro.

Documentazione dettagliata

getColumnFilterCriteria(columnPosition)

Recupera i criteri di filtro per la colonna specificata o null se alla colonna non sono applicati criteri di filtro.

Per maggiori 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 con indice 1 della colonna. Ad esempio, l'indice della colonna B è 2.

Invio

FilterCriteria: 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()

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

Invio

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 con indice 1 della colonna. Ad esempio, l'indice della colonna B è 2.

Invio

Filter: il filtro da collegare in serie.

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 per la colonna specificata. Innanzitutto, crea il generatore di criteri di filtro utilizzando SpreadsheetApp.newFilterCriteria(). Aggiungi quindi i criteri al generatore 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 con indice 1 della colonna. Ad esempio, l'indice della colonna B è 2.
filterCriteriaFilterCriteriaI criteri di filtro da impostare. Se imposti i criteri su null, vengono rimossi i criteri di filtro dalla colonna specificata. Puoi anche utilizzare removeColumnFilterCriteria(columnPosition).

Invio

Filter: il filtro da collegare in serie.

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) nell'intervallo a cui si applica il 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 con indice 1 della colonna. 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.

Invio

Filter: il filtro da collegare in serie.

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