Il filtraggio delle informazioni nei fogli di calcolo di Excel è una caratteristica importante. Ti consente di nascondere i dati irrilevanti e di mostrare solo i dati che soddisfano criteri specifici. Potrebbero esserci scenari in cui il filtraggio dei dati può rivelarsi utile. Ad esempio, un’organizzazione potrebbe voler filtrare i prodotti a basso rendimento dal rapporto sulle vendite per analizzare e migliorare le proprie strategie di vendita. In questo articolo imparerai come aggiungere o rimuovere il filtro automatico nei file di Excel usando C++.

API C++ per aggiungere e rimuovere il filtro automatico nei file di Excel

Utilizzeremo l’API Aspose.Cells for C++ per aggiungere e rimuovere il filtro automatico nei file Excel. È una libreria nativa C++ che consente di creare, leggere e modificare file Excel senza richiedere l’installazione di Microsoft Excel. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.

PM> Install-Package Aspose.Cells.Cpp

Applicare il filtro automatico nei file di Excel utilizzando C++

Puoi applicare il filtro automatico su un intervallo di celle. I filtri automatici consentono di ordinare e filtrare i valori nell’intervallo di celle specificato. Di seguito sono riportati i passaggi per aggiungere il filtro automatico nei file di Excel.

Il codice di esempio seguente mostra come applicare il filtro automatico a un intervallo di celle in un file di Excel usando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di origine
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));

// Accedi al primo foglio di lavoro nel file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Creazione di filtro automatico fornendo l'intervallo di celle
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));

// Salva il file Excel
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
L'immagine del file di output generato dal codice di esempio

L’immagine del file di output generato dal codice di esempio

Aggiungi il filtro automatico della data nei file di Excel usando C++

I file Excel possono contenere dati basati su date. Potresti trovarti in scenari in cui devi filtrare e analizzare i dati in base a date diverse. Pertanto, un filtro della data si rivelerà utile in tali scenari. Di seguito sono riportati i passaggi per aggiungere il filtro automatico della data nei file di Excel.

Il codice di esempio seguente illustra come aggiungere il filtro automatico della data nei file di Excel usando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di origine
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Accedi al primo foglio di lavoro nel file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Chiama la funzione AddDateFilter per applicare il filtro
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);

// Chiama la funzione Aggiorna per aggiornare il foglio di lavoro
worksheet->GetIAutoFilter()->Refresh();

// Salva il file Excel
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));

Aggiungi filtro automatico data dinamico in un file Excel utilizzando C++

Potrebbero verificarsi casi in cui è necessario un filtro della data più generico, ad esempio il mese indipendentemente dall’anno o il mese precedente al mese corrente. Per scenari come questo, puoi utilizzare il filtro automatico dinamico per filtrare i dati. Di seguito sono riportati i passaggi per filtrare i dati utilizzando un filtro automatico con data dinamica.

Il codice di esempio seguente illustra come aggiungere un filtro automatico della data dinamica in un file di Excel utilizzando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di origine
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Accedi al primo foglio di lavoro nel file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Chiama la funzione DynamicFilter per applicare il filtro
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);

// Chiama la funzione Aggiorna per aggiornare il foglio di lavoro
worksheet->GetIAutoFilter()->Refresh();

// Salva il file Excel
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));

Applicare il filtro automatico personalizzato nei file di Excel utilizzando C++

Nel caso in cui desideri applicare un filtro automatico personalizzato, l’API Aspose.Cells per C++ ti copre. Utilizzando l’API, puoi applicare un filtro automatico personalizzato nei file Excel in base ai tuoi requisiti specifici. Di seguito sono riportati i passaggi per aggiungere un filtro automatico personalizzato nei file di Excel.

Il codice di esempio seguente mostra come aggiungere filtri automatici personalizzati nei file di Excel usando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di origine
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));

// Accedi al primo foglio di lavoro nel file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Chiama la funzione Custom per applicare il filtro
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));

// Chiama la funzione Aggiorna per aggiornare il foglio di lavoro
worksheet->GetIAutoFilter()->Refresh();

// Salva il file Excel
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));

Rimuovere il filtro automatico dai file di Excel

Nelle sezioni precedenti, hai imparato come aggiungere diversi filtri automatici nei file Excel. Oltre ad aggiungere filtri automatici, puoi anche rimuoverli usando l’API Aspose.Cells per C++. Di seguito sono riportati i passaggi per rimuovere i filtri automatici dai file di Excel.

Il codice di esempio seguente mostra come rimuovere il filtro automatico da un file di Excel utilizzando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di origine
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));

// Accedi al primo foglio di lavoro nel file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Rimuovere i filtri automatici
worksheet->RemoveAutoFilter();

// Salva il file Excel
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come aggiungere e rimuovere filtri automatici dai file Excel utilizzando C++. In particolare, hai imparato come aggiungere Default, Data, Data dinamica e Filtri automatici personalizzati. Hai anche visto come rimuovere AutoFilter usando Aspose.Cells per l’API C++. L’API fornisce molte funzionalità aggiuntive per lavorare con i file Excel. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche