Das Filtern von Informationen in Excel-Tabellen ist eine wichtige Funktion. Es ermöglicht Ihnen, irrelevante Daten auszublenden und nur die Daten anzuzeigen, die bestimmte Kriterien erfüllen. Es kann Szenarien geben, in denen sich das Filtern von Daten als hilfreich erweisen kann. Beispielsweise möchte eine Organisation leistungsschwache Produkte aus dem Verkaufsbericht herausfiltern, um ihre Verkaufsstrategien zu analysieren und zu verbessern. In diesem Artikel erfahren Sie, wie Sie AutoFilter in Excel Dateien mit C++ hinzufügen oder entfernen.
- C++-API zum Hinzufügen und Entfernen von AutoFilter in Excel Dateien
- Wenden Sie AutoFilter in Excel Dateien mit C++ an
- Datums-AutoFilter in Excel Dateien mit C++ hinzufügen
- Dynamischen Datums-AutoFilter in einer Excel Datei mit C++ hinzufügen
- Wenden Sie benutzerdefinierte AutoFilter in Excel Dateien mit C++ an
- AutoFilter aus Excel Dateien entfernen
C++-API zum Hinzufügen und Entfernen von AutoFilter in Excel Dateien
Wir verwenden die API Aspose.Cells for C++ zum Hinzufügen und Entfernen von AutoFilter in Excel Dateien. Es ist eine native C++ Bibliothek, mit der Sie Excel Dateien erstellen, lesen und ändern können, ohne dass Microsoft Excel installiert sein muss. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.
PM> Install-Package Aspose.Cells.Cpp
Wenden Sie AutoFilter in Excel Dateien mit C++ an
Sie können AutoFilter auf einen Zellbereich anwenden. Mit AutoFiltern können Sie Werte im angegebenen Zellbereich sortieren und filtern. Im Folgenden sind die Schritte zum Hinzufügen von AutoFilter in Excel Dateien aufgeführt.
- Laden Sie zunächst die Excel Datei mit der Klasse IWorkbook.
- Rufen Sie das Arbeitsblatt ab, auf das Sie den AutoFilter anwenden möchten, indem Sie die Methode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) verwenden.
- Wenden Sie den AutoFilter mit IWorksheet->GetIAutoFilter()->SetRange(intrusiveptrAspose::Cells::Systems::String Wert) Methode.
- Speichern Sie abschließend die Excel Datei mit IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) methode.
Der folgende Beispielcode zeigt, wie AutoFilter mithilfe von C++ auf einen Zellbereich in einer Excel Datei angewendet wird.
// Quellverzeichnispfad.
StringPtr srcDir = new String("SourceDirectory\\");
// Verzeichnispfad ausgeben.
StringPtr outDir = new String("OutputDirectory\\");
// Laden Sie die Excel quelldatei
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));
// Greifen Sie auf das erste Arbeitsblatt in der Excel Datei zu
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Erstellen von AutoFilter durch Angabe des Zellbereichs
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));
// Speichern Sie die Excel Datei
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
Datums-AutoFilter in Excel Dateien mit C++ hinzufügen
Excel Dateien können Daten enthalten, die auf Datumsangaben basieren. Möglicherweise befinden Sie sich in Szenarien, in denen Sie Daten basierend auf unterschiedlichen Daten filtern und analysieren müssen. Daher erweist sich in solchen Szenarien ein Datumsfilter als hilfreich. Im Folgenden sind die Schritte zum Hinzufügen des Datums-AutoFilters in Excel Dateien aufgeführt.
- Laden Sie zunächst die Excel Datei mit der Klasse IWorkbook.
- Rufen Sie das Arbeitsblatt ab, auf das Sie den AutoFilter anwenden möchten, indem Sie die Methode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) verwenden.
- Wenden Sie den Datums-AutoFilter mit IWorksheet->GetIAutoFilter()->AddDateFilter(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DateTimeGroupingType dateTimeGroupingType, Aspose::Cells::Systems::Int32 year, Aspose ::Cells::Systems::Int32 Monat, Aspose::Cells::Systems::Int32 Tag, Aspose::Cells::Systems::Int32 Stunde, Aspose::Cells::Systems::Int32 Minute, Aspose:: Cells::Systems::Int32 second) methode.
- Um das Arbeitsblatt zu aktualisieren, verwenden Sie die Methode IWorksheet->GetIAutoFilter()->Refresh().
- Speichern Sie abschließend die Excel Datei mit IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) methode.
Der folgende Beispielcode demonstriert, wie Datums-AutoFilter in Excel Dateien mit C++ hinzugefügt werden.
// Quellverzeichnispfad.
StringPtr srcDir = new String("SourceDirectory\\");
// Verzeichnispfad ausgeben.
StringPtr outDir = new String("OutputDirectory\\");
// Laden Sie die Excel quelldatei
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Greifen Sie auf das erste Arbeitsblatt in der Excel Datei zu
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Rufen Sie die AddDateFilter Funktion auf, um den Filter anzuwenden
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);
// Rufen Sie die Refresh Funktion auf, um das Arbeitsblatt zu aktualisieren
worksheet->GetIAutoFilter()->Refresh();
// Speichern Sie die Excel Datei
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));
Dynamischen Datums-AutoFilter in einer Excel Datei mit C++ hinzufügen
Es kann Fälle geben, in denen Sie einen allgemeineren Datumsfilter benötigen, z. B. den Monat unabhängig vom Jahr oder den Monat vor dem aktuellen Monat. Für solche Szenarien können Sie den dynamischen AutoFilter verwenden, um die Daten zu filtern. Im Folgenden sind die Schritte zum Filtern von Daten mit einem AutoFilter für dynamisches Datum aufgeführt.
- Laden Sie zunächst die Excel Datei mit der Klasse IWorkbook.
- Rufen Sie das Arbeitsblatt ab, auf das Sie den AutoFilter anwenden möchten, indem Sie die Methode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) verwenden.
- Wenden Sie DynamicFilter mit der methode IWorksheet->GetIAutoFilter()->DynamicFilter (Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DynamicFilterType dynamicFilterType) an.
- Um das Arbeitsblatt zu aktualisieren, verwenden Sie die Methode IWorksheet->GetIAutoFilter()->Refresh().
- Speichern Sie abschließend die Excel Datei mit IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) methode.
Der folgende Beispielcode demonstriert, wie ein dynamischer Datums-AutoFilter in einer Excel Datei mit C++ hinzugefügt wird.
// Quellverzeichnispfad.
StringPtr srcDir = new String("SourceDirectory\\");
// Verzeichnispfad ausgeben.
StringPtr outDir = new String("OutputDirectory\\");
// Laden Sie die Excel quelldatei
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Greifen Sie auf das erste Arbeitsblatt in der Excel Datei zu
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Rufen Sie die DynamicFilter Funktion auf, um den Filter anzuwenden
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);
// Rufen Sie die Refresh Funktion auf, um das Arbeitsblatt zu aktualisieren
worksheet->GetIAutoFilter()->Refresh();
// Speichern Sie die Excel Datei
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));
Wenden Sie benutzerdefinierte AutoFilter in Excel Dateien mit C++ an
Falls Sie einen benutzerdefinierten AutoFilter anwenden möchten, ist Aspose.Cells für die C++-API genau das Richtige für Sie. Mithilfe der API können Sie basierend auf Ihren spezifischen Anforderungen einen benutzerdefinierten AutoFilter in Excel Dateien anwenden. Im Folgenden sind die Schritte zum Hinzufügen eines benutzerdefinierten AutoFilters in Excel Dateien aufgeführt.
- Laden Sie zunächst die Excel Datei mit der Klasse IWorkbook.
- Rufen Sie das Arbeitsblatt ab, auf das Sie den AutoFilter anwenden möchten, indem Sie die Methode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) verwenden.
- Wenden Sie den benutzerdefinierten AutoFilter mit IWorksheet->GetIAutoFilter()->Custom(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::FilterOperatorType operatorType1, intrusiveptrAspose::Cells::Systems::Object Kriterien1) Methode.
- Rufen Sie die Methode IWorksheet->GetIAutoFilter()->Refresh() auf, um das Arbeitsblatt zu aktualisieren.
- Speichern Sie abschließend die Excel Datei mit IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) methode.
Der folgende Beispielcode zeigt, wie Sie mithilfe von C++ einen benutzerdefinierten AutoFilter in Excel Dateien hinzufügen.
// Quellverzeichnispfad.
StringPtr srcDir = new String("SourceDirectory\\");
// Verzeichnispfad ausgeben.
StringPtr outDir = new String("OutputDirectory\\");
// Laden Sie die Excel quelldatei
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));
// Greifen Sie auf das erste Arbeitsblatt in der Excel Datei zu
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Rufen Sie die benutzerdefinierte Funktion auf, um den Filter anzuwenden
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));
// Rufen Sie die Refresh Funktion auf, um das Arbeitsblatt zu aktualisieren
worksheet->GetIAutoFilter()->Refresh();
// Speichern Sie die Excel Datei
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));
AutoFilter aus Excel Dateien entfernen
In den vorherigen Abschnitten haben Sie gelernt, wie Sie verschiedene AutoFilter in Excel Dateien hinzufügen. Zusätzlich zum Hinzufügen von AutoFiltern können Sie sie auch mithilfe der Aspose.Cells for C++ API entfernen. Im Folgenden sind die Schritte zum Entfernen von AutoFiltern aus Excel Dateien aufgeführt.
- Laden Sie zunächst die Excel Datei mit der Klasse IWorkbook.
- Rufen Sie das Arbeitsblatt ab, aus dem Sie den AutoFilter entfernen möchten, indem Sie die Methode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) verwenden.
- Entfernen Sie AutoFilter mit der methode IWorksheet->RemoveAutoFilter().
- Speichern Sie abschließend die Excel Datei mit IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) methode.
Der folgende Beispielcode zeigt, wie AutoFilter mithilfe von C++ aus einer Excel Datei entfernt wird.
// Quellverzeichnispfad.
StringPtr srcDir = new String("SourceDirectory\\");
// Verzeichnispfad ausgeben.
StringPtr outDir = new String("OutputDirectory\\");
// Laden Sie die Excel quelldatei
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));
// Greifen Sie auf das erste Arbeitsblatt in der Excel Datei zu
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// AutoFilter entfernen
worksheet->RemoveAutoFilter();
// Speichern Sie die Excel Datei
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));
Holen Sie sich eine kostenlose Lizenz
Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mit C++ AutoFilter zu Excel Dateien hinzufügen und daraus entfernen. Insbesondere haben Sie gelernt, wie Sie Standard, Datums, dynamisches Datums und benutzerdefinierte Autofilter hinzufügen. Sie haben auch gesehen, wie Sie AutoFilter mit Aspose.Cells für die C++-API entfernen. Die API bietet viele zusätzliche Funktionen für die Arbeit mit Excel Dateien. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.