Σε αυτό το σεμινάριο, θα μάθουμε πώς να προσθέτουμε φίλτρο στο αρχείο XLSX χρησιμοποιώντας C++. Μπορείτε να εισαγάγετε φίλτρο στο φύλλο εργασίας του Excel σε Microsoft Windows, Linux κ.λπ. μέσω προγραμματισμού σε C++.
Βήματα για την προσθήκη φίλτρου σε αρχείο XLSX χρησιμοποιώντας C++
- Εγκαταστήστε το πακέτο Aspose.Cells.Cpp με την προσθήκη διαχείρισης πακέτων NuGet
- Προσθέστε την αναφορά στον χώρο ονομάτων Aspose::Cells
- Αρχικοποιήστε το αντικείμενο κλάσης Workbook για να δημιουργήσετε ένα νέο βιβλίο εργασίας του Excel
- Εισαγάγετε τιμές δειγμάτων στα κελιά
- Ορίστε τύπο και εύρος για φιλτράρισμα δεδομένων
- Συμπεριλάβετε ένα φίλτρο σε μια στήλη με τη μέθοδο AddFilter
- Αποθηκεύστε το αρχείο εξόδου Excel αφού φιλτράρετε τα δεδομένα χρησιμοποιώντας C++
Στο παρακάτω παράδειγμα, θα εξερευνήσετε πώς να δημιουργήσετε φίλτρο σε αρχείο Excel χρησιμοποιώντας C++. Αρχικοποιήστε ένα κενό φύλλο εργασίας και εφαρμόστε φίλτρο σε αρχείο Excel χρησιμοποιώντας C++ απλά ακολουθώντας μερικά βήματα.
Κώδικας για προσθήκη φίλτρου σε αρχείο Excel σε C++
#pragma once | |
#include "Aspose.Cells.h" | |
class ExcelFilterData | |
{ | |
void FilterExcelData() | |
{ | |
// Set the license for Aspose.Cells API for filtering data | |
intrusive_ptr<License> CellFilterLicense = new License(); | |
CellFilterLicense->SetLicense(new String("Aspose.Total.lic")); | |
// Instantiate the Workbook object to create empty file to filter out the data | |
intrusive_ptr<IWorkbook> FilterWorkbook = Factory::CreateIWorkbook(); | |
// Access the first worksheet using 0 index for filtering data | |
intrusive_ptr<IWorksheet> FilterWorksheet = FilterWorkbook->GetIWorksheets()->GetObjectByIndex(0); | |
// Adding sample data and values to cells for filtering | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue("Fruits"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue("Total"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue("Blueberries"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue("2500"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue("Apples"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue("1100"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("A4"))->PutValue("Mangoes"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("B4"))->PutValue("1500"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("A5"))->PutValue("Grapes"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("B5"))->PutValue("1200"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("A6"))->PutValue("Oranges"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("A5"))->PutValue("3000"); | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("B5"))->PutValue("Count:"); | |
// Set formula for filtering data | |
FilterWorksheet->GetICells()->GetObjectByIndex(new String("E1"))->SetFormula(new String("=SUBTOTAL(2,B1:B6)")); | |
// Set the range for applying AutoFilter | |
FilterWorksheet->GetIAutoFilter()->SetRange(new String("A1:B6")); | |
// Add an AutoFilter to a specific column | |
FilterWorksheet->GetIAutoFilter()->AddFilter(0 , new String("Grapes")); | |
FilterWorksheet->GetIAutoFilter()->Refresh(); | |
// Save the output Excel file with filtered data | |
FilterWorkbook->Save(new String ("FilterOutput.xlsx")); | |
} | |
}; |
Μπορείτε να δημιουργήσετε φίλτρο σε αρχείο Excel χρησιμοποιώντας C++ εισάγοντας δείγματα δεδομένων και τιμών στα κελιά. Μπορείτε εύκολα να φιλτράρετε δεδομένα σε αρχείο Excel χωρίς να εγκαταστήσετε το MS Excel ή οποιαδήποτε άλλη εφαρμογή. Στο προηγούμενο παράδειγμα, μάθαμε το Πώς να μετατρέψετε το αρχείο Excel σε CSV σε C++ που εξηγεί τη μετατροπή από αρχείο Excel σε αρχείο CSV.