Class Filter

Filtro

Usa questa classe per modificare i filtri esistenti sui fogli Grid, il tipo predefinito in un foglio di calcolo. I fogli della griglia sono fogli normali con dati non collegati a un database.

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

Per utilizzare questo corso, devi prima accedere al filtro del foglio della griglia utilizzando Range.getFilter() o Sheet.getFilter().

Utilizzi comuni

Rimuovere un filtro

Nell'esempio di seguito, il filtro viene rimosso dal foglio attivo.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

Ottieni l'intervallo a cui si applica il filtro

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

Metodi

MetodoTipo restituitoBreve descrizione
getColumnFilterCriteria(columnPosition)FilterCriteriaRestituisce i criteri di filtro sulla colonna specificata o null se la colonna non ha criteri di filtro applicati.
getRange()RangeOttiene 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)FilterConsente di impostare i criteri di filtro sulla colonna specificata.
sort(columnPosition, ascending)FilterOrdina l'intervallo filtrato in base alla colonna specificata, esclusa la prima riga (la riga di intestazione) in l'intervallo a cui si applica questo filtro.

Documentazione dettagliata

getColumnFilterCriteria(columnPosition)

Restituisce i criteri di filtro sulla colonna specificata o null se la colonna non ha criteri di filtro applicati.

Per ulteriori dettagli sui criteri di filtro, concatena questo metodo ai metodi del FilterCriteria corso.

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

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione indicizzata 1 della colonna. Ad esempio, l'indice della colonna B è 2.

Invio

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

Ottiene l'intervallo a cui si applica questo filtro.

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

Invio

Range: l'intervallo del filtro. Per ottenere l'intervallo in notazione A1, concatena questo metodo a 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.
let ss = SpreadsheetApp.getActiveSheet();
let 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.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione indicizzata 1 della colonna. Ad esempio, l'indice della colonna B è 2.

Invio

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)

Consente di impostare i criteri di filtro sulla colonna specificata. Per prima cosa, crea il generatore dei criteri di filtro utilizzando SpreadsheetApp.newFilterCriteria(). Quindi, aggiungi criteri allo strumento di creazione. utilizzando la classe FilterCriteriaBuilder. Dopo aver creato i criteri, impostali come Parametro filterCriteria per questo metodo.

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

Parametri

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

Invio

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, esclusa la prima riga (la riga di intestazione) in l'intervallo a cui si applica questo filtro.

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

Parametri

NomeTipoDescrizione
columnPositionIntegerLa posizione indicizzata 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 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