Die Dateiformate XLSX und XLS werden häufig verwendet, um große Datenmengen zu manipulieren. Ebenso werden AutoFilter verwendet, um Daten in Excel Dateien zu organisieren. Mit der Aspose.Cells for .NET-API können Sie AutoFilter in Excel Dateien ganz einfach hinzufügen oder entfernen. Filter können verwendet werden, um einige Daten zu quantifizieren, um aussagekräftige Informationen zu extrahieren. Beispielsweise möchte eine Organisation die Monate mit niedrigen Umsätzen filtern, um ihre Strategien zu entwickeln und zu verbessern. In diesem Artikel untersuchen wir die Datenfilterung mit automatischen Filtern in C#:

AutoFilter in Excel Dateien hinzufügen oder entfernen – API Installation

Mit der Aspose.Cells for .NET-API können Sie effizient mit Excel-Tabellen arbeiten. Sie können XLS, XLSX und andere unterstützte Formate programmgesteuert mit minimalem Code erstellen, bearbeiten oder manipulieren. Sie können das MSI oder ZIP-Paket aus dem Downloadbereich herunterladen und installieren oder es einfach über die NuGet-Galerie in Ihrer Lösung installieren. Sie können es beispielsweise mit dem folgenden Befehl einfach in Ihrer Umgebung installieren:

Install-Package Aspose.Cells -Version 20.9.0

Lassen Sie uns nach erfolgreicher Installation der API mit einigen der wichtigen und nützlichen Anwendungsfälle fortfahren.

Anwenden von AutoFilter auf Zellen in Excel Dateien mit C#

Sie können AutoFilter auf einen bestimmten Zellbereich in Excel Dateien anwenden. Dadurch können Sie die Werte aufsteigend oder absteigend sortieren sowie andere Zahlenfilter, wenn die Zellen Zahlenwerte enthalten. Sie müssen die folgenden Schritte ausführen, um AutoFilter in Excel Dateien mit C# anzuwenden:

  1. Öffnen Sie eine Excel Datei und greifen Sie auf das Worksheet zu.
  2. Erstellen Sie AutoFilter, indem Sie einen bestimmten Zellbereich angeben
  3. Speichern Sie die XLS/XLSX-Ausgabedatei

Das code snippet zeigt, wie AutoFilter auf Zellen in Excel Dateien mit C# angewendet wird:

// Instanziieren eines Workbook objekts
// Öffnen der Excel Datei über den Dateistream
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

// Zugriff auf das erste Arbeitsblatt in der Excel Datei
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

// Erstellen von AutoFilter durch Angabe des Zellenbereichs der Überschriftszeile
worksheet.AutoFilter.Range = "A1:B1";

// Speichern der geänderten Excel Datei
workbook.Save(dataDir + "output.xlsx");

Sie können den in der XLSX quelldatei hinzugefügten AutoFilter im folgenden Screenshot sehen:

AutoFilter-Excel-Csharp

Datums-AutoFilter in XLSX mit C# hinzufügen

Daten in Excel Dateien enthalten häufig datumsbezogene Informationen. Manchmal müssen Sie möglicherweise Informationen basierend auf verschiedenen Zeiträumen untersuchen, die anhand der Daten identifiziert werden können. Betrachten wir zum Beispiel den Fall, in dem wir Daten im Zusammenhang mit Januar 2018 filtern müssen, dann müssen Sie die folgenden Schritte ausführen:

  1. Eingabetabelle laden
  2. Zugriff auf ein Arbeitsblatt
  3. Datumsfilter hinzufügen und die Ausgabedatei speichern

Das folgende Codebeispiel folgt diesen Schritten und zeigt, wie Sie Datums-AutoFilter in Excel Dateien mit C# hinzufügen:

// Instanziieren eines Workbook objekts
// Öffnen der Excel Datei über den Dateistream
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Zugriff auf das erste Arbeitsblatt in der Excel Datei
Worksheet worksheet = workbook.Worksheets[0];

// Rufen Sie die AddDateFilter Funktion auf, um den Filter anzuwenden
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

// Rufen Sie die Aktualisierungsfunktion auf, um das Arbeitsblatt zu aktualisieren
worksheet.AutoFilter.Refresh();

// Speichern der geänderten Excel Datei
workbook.Save(dataDir + "FilteredDate.xlsx");

Dynamischen Datums-AutoFilter in XLSX mit C# hinzufügen

Wie wir bereits das Szenario des Filterns von Daten basierend auf Datumsangaben besprochen haben. In einigen Szenarien kann das Datumsszenario jedoch auch etwas allgemeiner sein. Beispielsweise müssen die Daten für den Monat Januar herausgefiltert werden, unabhängig davon, in welchem Jahr. Solche Anforderungen können einfach mit einem dynamischen Datumsfilter gehandhabt werden, indem Sie die folgenden Schritte ausführen:

  1. Laden Sie die XLSX-Eingabedatei
  2. Greifen Sie auf ein Arbeitsblatt zu
  3. Legen Sie DynamicFilter für den Monat Januar fest
  4. Speichern Sie die ausgegebene Excel-Tabelle

Dieses Beispiel ist eine Fortsetzung des obigen Beispiels, wobei das folgende code snippet zeigt, wie ein dynamischer Datums-AutoFilter in einer Excel Datei mit C# hinzugefügt wird:

// Instanziieren eines Workbook objekts
// Öffnen der Excel Datei über den Dateistream
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Zugriff auf das erste Arbeitsblatt in der Excel Datei
Worksheet worksheet = workbook.Worksheets[0];

// Rufen Sie die DynamicFilter Funktion auf, um den Filter anzuwenden
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

// Rufen Sie die Aktualisierungsfunktion auf, um das Arbeitsblatt zu aktualisieren
worksheet.AutoFilter.Refresh();

// Speichern der geänderten Excel Datei
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

Wenden Sie den benutzerdefinierten Nummern-AutoFilter in XLSX mit C# an

Sie können Daten basierend auf einem benutzerdefinierten Zahlenbereich mit Aspose.Cells for .NET API filtern. Zum Beispiel, wenn ein Unternehmen Zugriff darauf haben muss, wie viele seiner Mitarbeiter die Verkaufsziele erreicht haben. Ebenso könnte es viele Möglichkeiten geben, bei denen diese Filtertechnik helfen kann. Nehmen wir einen Fall an, in dem wir alle Daten filtern müssen, bei denen die Zahlen im Bereich von 5 bis einschließlich 10 liegen, dann müssen Sie die folgenden Schritte ausführen:

  1. Instanziieren Sie ein Workbook objekt und laden Sie die Eingabedatei
  2. Fügen Sie einem bestimmten Arbeitsblatt einen benutzerdefinierten Zahlenfilter hinzu
  3. Speichern Sie die ausgegebene Excel Datei

Basierend auf diesen Schritten zeigt der folgende Code, wie ein benutzerdefinierter Zahlen-AutoFilter mithilfe von C# hinzugefügt wird:

// Instanziieren eines Workbook objekts
// Öffnen der Excel Datei über den Dateistream
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

// Zugriff auf das erste Arbeitsblatt in der Excel Datei
Worksheet worksheet = workbook.Worksheets[0];

// Rufen Sie die benutzerdefinierte Funktion auf, um den Filter anzuwenden
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

// Rufen Sie die Aktualisierungsfunktion auf, um das Arbeitsblatt zu aktualisieren
worksheet.AutoFilter.Refresh();

// Speichern der geänderten Excel Datei
workbook.Save(dataDir + "FilteredNumber.xlsx");

Hinzufügen eines benutzerdefinierten AutoFilters mit Contains mit C#

Gehen wir noch einen Schritt weiter vom benutzerdefinierten AutoFilter für Zahlen, lassen Sie uns lernen, wie man benutzerdefinierten AutoFilter hinzufügt, der verwendet werden kann, um bestimmten Text mit Contains Filter Operator zu verfolgen. Es kann nützlich sein, nach Wörtern zu suchen, bei denen Text teilweise oder vollständig in den Daten vorhanden ist. Sie sollten die folgenden Schritte ausführen, um diese Anforderungen zu erfüllen:

  1. Eingabe-Excel Datei mit Daten laden
  2. Geben Sie den AutoFilter Bereich und den FilterOperatorType an
  3. Speichern Sie die XLSX-Ausgabedatei

Das folgende code snippet zeigt, wie Sie mit C# einen benutzerdefinierten AutoFilter mit Contains hinzufügen:

// Instanziieren eines Workbook objekts, das Beispieldaten enthält
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

// Zugriff auf das erste Arbeitsblatt in der Excel Datei
Worksheet worksheet = workbook.Worksheets[0];

// Erstellen von AutoFilter durch Angabe des Zellbereichs
worksheet.AutoFilter.Range = "A1:A18";

// Filter für Zeilen initialisieren, die die Zeichenfolge "Ba" enthalten
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//Aktualisieren Sie den Filter, um gefilterte Zeilen anzuzeigen/auszublenden
worksheet.AutoFilter.Refresh();

// Speichern der geänderten Excel Datei
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

Entfernen oder löschen Sie AutoFilter in Excel mit C#

Da wir verschiedene Szenarien zum Hinzufügen von AutoFiltern in Excel Dateien mit C# kennengelernt haben, sehen wir uns den umgekehrten Weg an. Der Anwendungsfall des Entfernens oder Löschens der AutoFilter aus Excel ist ebenso wichtig und ausschlaggebend. Sie müssen die folgenden Schritte ausführen, um alle AutoFilter aus einer XLSX Datei zu entfernen:

  1. Laden Sie die XLSX-Eingabedatei
  2. Durchlaufen Sie jedes Arbeitsblatt und entfernen Sie AutoFilters
  3. Ausgabedatei speichern

Das folgende code snippet zeigt, wie Sie AutoFilter aus Excel Dateien mit C# entfernen:

// Instanziieren eines Workbook objekts
// Öffnen der Excel Datei
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// Durchlaufen Sie jedes Arbeitsblatt
foreach (var sheet in workbook.Worksheets)
{
    // AutoFilter entfernen
    sheet.RemoveAutoFilter();
}
// Speichern Sie die Arbeitsmappe
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

Fazit

Aspose.Cells for .NET API bietet Ihnen verschiedene sofort einsatzbereite Funktionen. Das Hinzufügen, Entfernen oder Löschen eines AutoFilters mit C# in .NET Framework ist einfach und unkompliziert. Wir haben mehrere Möglichkeiten ausführlich besprochen. Falls Sie Zweifel oder Bedenken haben, können Sie sich gerne unter Free Support Forum an uns wenden.

Siehe auch