Datenfilterung

Autofilter-Daten

Die automatische Filterung ist die schnellste Möglichkeit, nur die Elemente aus dem Arbeitsblatt auszuwählen, die Sie in einer Liste anzeigen möchten. Mit der Autofilter-Funktion können Benutzer Elemente in einer Liste nach festgelegten Kriterien filtern. Filtern Sie nach Text, Zahlen oder Daten.

Autofilter in Microsoft Excel

So aktivieren Sie die Autofilter-Funktion in Microsoft Excel:

  1. Klicken Sie in einem Arbeitsblatt auf die Überschriftenzeile.
  2. Von demDatenMenü, auswählenFilterund dannAutomatischer Filter.

Wenn Sie einen Autofilter auf ein Arbeitsblatt anwenden, werden rechts neben den Spaltenüberschriften Filterschalter (schwarze Pfeile) angezeigt.

  1. Klicken Sie auf einen Filterpfeil, um eine Liste mit Filteroptionen anzuzeigen.

Einige der Autofilter-Optionen sind:

Optionen Beschreibung
Alles Alle Elemente in der Liste einmal anzeigen.
Brauch Passen Sie Filterkriterien wie enthält/enthält nicht an
Nach Farbe filtern Filter basierend auf gefüllter Farbe
Datumsfilter Filtert Zeilen basierend auf verschiedenen Kriterien nach Datum
Zahlenfilter Verschiedene Filtertypen für Zahlen wie Vergleich, Durchschnitte und Top 10 usw.
Textfilter Verschiedene Filter wie beginnt mit, endet mit, enthält usw.
Leerzeichen/Nicht-Leerzeichen Diese Filter können über Text Filter Blank implementiert werden
Benutzer filtern ihre Arbeitsblattdaten in Microsoft Excel mithilfe dieser Optionen manuell.

Autofilter mit Aspose.Cells

Aspose.Cells bietet eine Klasse,Arbeitsmappedie eine Excel-Datei darstellt. DasArbeitsmappeKlasse enthält aArbeitsblattsammlungdie den Zugriff auf jedes Arbeitsblatt in der Excel-Datei ermöglicht.

Ein Arbeitsblatt wird durch dargestelltArbeitsblattKlasse. DasArbeitsblatt-Klasse bietet eine breite Palette von Eigenschaften und Methoden zum Verwalten von Arbeitsblättern. Um einen Autofilter zu erstellen, verwenden Sie dieAutomatischer FilterEigentum derArbeitsblattKlasse. DasAutomatischer FilterEigentum ist ein Objekt derAutomatischer FilterKlasse, die die bietetBereich-Eigenschaft zum Angeben des Zellbereichs, aus dem eine Überschriftenzeile besteht. Ein Autofilter wird auf den Zellenbereich angewendet, der die Überschriftenzeile darstellt.

In jedem Arbeitsblatt können Sie nur einen Filterbereich angeben. Dies wird durch Microsoft Excel begrenzt. Verwenden Sie für benutzerdefinierte Datenfilterung dieAutoFilter.Benutzerdefiniert Methode.

Im folgenden Beispiel haben wir denselben AutoFilter mit Aspose.Cells erstellt, den wir mit Microsoft Excel im obigen Abschnitt erstellt haben.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object
Workbook workbook = new Workbook("AFData.xls");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Creating AutoFilter by giving the cells range
AutoFilter autoFilter = worksheet.getAutoFilter();
autoFilter.setRange("A1:B1");
// Saving the modified Excel file
workbook.save("AFData_out.xls");
// Print message
System.out.println("Process completed successfully");

Verschiedene Filtertypen

Aspose.Cells bietet mehrere Optionen zum Anwenden verschiedener Filtertypen wie Farbfilter, Datumsfilter, Zahlenfilter, Textfilter, leere Filter und keine leeren Filter.

Füllfarbe

Aspose.Cells bietet eine FunktionaddFillColorFilter, um Daten basierend auf der Füllfarbeneigenschaft der Zellen zu filtern. In dem unten angegebenen Beispiel wird eine Vorlagendatei mit unterschiedlichen Füllfarben in der ersten Spalte des Blatts verwendet, um die Farbfilterfunktion zu testen. Folgende Dateien können heruntergeladen werden, um die Funktionalität zu überprüfen.

  1. ColouredCells.xlsx
  2. FilteredColoredCells.xlsx
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook("ColouredCells.xlsx");
// Instantiating a CellsColor object for foreground color
CellsColor clrForeground = workbook.createCellsColor();
clrForeground.setColor(Color.getRed());
// Instantiating a CellsColor object for background color
CellsColor clrBackground = workbook.createCellsColor();
clrBackground.setColor(Color.getWhite());
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Call AddFillColorFilter function to apply the filter
worksheet.getAutoFilter().addFillColorFilter(0, BackgroundType.SOLID, clrForeground, clrBackground);
// Call refresh function to update the worksheet
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save("FilteredColouredCells.xlsx");
// Print message
System.out.println("Process completed successfully");
Datum

Es können verschiedene Arten von Datumsfiltern implementiert werden, z. B. das Filtern aller Zeilen mit Datumsangaben im Januar 2018. Der folgende Beispielcode demonstriert die Verwendung dieses FiltersDatumsfilter hinzufügen Funktion. Die folgenden Dateien können zum Testen dieser Funktionalität verwendet werden.

  1. Datum.xlsx
  2. Gefiltertes Datum.xlsx
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook("Date.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Call AddDateFilter function to apply the filter
worksheet.getAutoFilter().addDateFilter(0, DateTimeGroupingType.MONTH, 2018, 1, 0, 0, 0, 0);
// Call refresh function to update the worksheet
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save("FilteredDate.xlsx");
// Print message
System.out.println("Process completed successfully");
Dynamisches Datum

Manchmal sind dynamische Filter basierend auf einem Datum erforderlich, z. B. alle Zellen mit Datumsangaben im Januar, unabhängig vom Jahr. In diesem Fall,Dynamischer Filter Funktion wird wie im folgenden Beispielcode angegeben verwendet. Folgende Dateien können zum Testen verwendet werden.

  1. Datum.xlsx
  2. FilteredDynamicDate.xlsx
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook("Date.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Call DynamicFilter function to apply the filter
worksheet.getAutoFilter().dynamicFilter(0, DynamicFilterType.JANUARY);
// Call refresh function to update the worksheet
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save("FilteredDynamicDate.xlsx");
Anzahl

Benutzerdefinierte Filter können mit Aspose.Cells angewendet werden, z. B. das Auswählen von Zellen mit einer Nummer zwischen einem bestimmten Bereich. Das folgende Beispiel demonstriert die Verwendung vonBrauch() Funktion zum Filtern von Zahlen. Beispieldateien können unter den folgenden Links heruntergeladen werden.

  1. Nummer.xlsx
  2. GefilterteNummer.xlsx
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook("Date.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Call DynamicFilter function to apply the filter
worksheet.getAutoFilter().dynamicFilter(0, DynamicFilterType.JANUARY);
// Call refresh function to update the worksheet
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save("FilteredDynamicDate.xlsx");
Text

Wenn eine Spalte Text enthält und Zellen ausgewählt werden sollen, die einen bestimmten Text enthalten,Filter()-Funktion verwendet werden. Im folgenden Beispiel enthält die Vorlagendatei eine Liste von Ländern, und es soll eine Zeile ausgewählt werden, die einen bestimmten Ländernamen enthält. Der folgende Code demonstriert das Filtern von Text mithilfe der folgenden Beispieldateien.

  1. Text.xlsx
  2. GefilterterText.xlsx
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook("Text.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Call Filter function to apply the filter
worksheet.getAutoFilter().filter(0, "Angola");
// Call refresh function to update the worksheet
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save("FilteredText.xlsx");
Leerzeichen

Wenn eine Spalte Text enthält, sodass nur wenige Zellen leer sind, und ein Filter erforderlich ist, um nur die Zeilen auszuwählen, in denen leere Zellen vorhanden sind,matchBlanks()-Funktion kann wie unten gezeigt verwendet werden. Beispieldateien können unter den folgenden Links heruntergeladen werden.

  1. Leer.xlsx
  2. GefiltertLeer.xlsx
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook("Blank.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Call matchBlanks function to apply the filter
worksheet.getAutoFilter().matchBlanks(0);
// Call refresh function to update the worksheet
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save("FilteredBlank.xlsx");
Keine Leerzeichen

Wenn Zellen mit beliebigem Text gefiltert werden sollen, verwenden SieMatchNonBlanks Filterfunktion wie unten gezeigt. Beispieldateien können unter den folgenden Links heruntergeladen werden.

  1. Leer.xlsx
  2. GefilterteNonBlank.xlsx
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook("Blank.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Call matchBlanks function to apply the filter
worksheet.getAutoFilter().matchBlanks(0);
// Call refresh function to update the worksheet
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save("FilteredBlank.xlsx");
Benutzerdefinierter Filter mit Enthält

Excel bietet benutzerdefinierte Filter wie Filterzeilen, die eine bestimmte Zeichenfolge enthalten. Diese Funktion ist in Aspose.Cells verfügbar und wird unten durch Filtern der Namen in der Beispieldatei demonstriert. Beispieldateien können unter den folgenden Links heruntergeladen werden.

  1. sourceSampleCountryNames.xlsx
  2. outSourseSampleCountryNames.xlsx
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object containing sample data
Workbook workbook = new Workbook("sourseSampleCountryNames.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Creating AutoFilter by giving the cells range
worksheet.getAutoFilter().setRange("A1:A18");
// Initialize filter for rows containing string "Ba"
worksheet.getAutoFilter().custom(0, FilterOperatorType.CONTAINS, "Ba");
//Refresh the filter to show/hide filtered rows
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save("outSourseSampleCountryNames.xlsx");
Benutzerdefinierter Filter mit NotContains

Excel bietet benutzerdefinierte Filter wie Filterzeilen, die keine bestimmte Zeichenfolge enthalten. Diese Funktion ist in Aspose.Cells verfügbar und wird unten durch Filtern der Namen in der unten angegebenen Beispieldatei demonstriert.

  1. sourceSampleCountryNames.xlsx.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object containing sample data
Workbook workbook = new Workbook("sourseSampleCountryNames.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Creating AutoFilter by giving the cells range
worksheet.getAutoFilter().setRange("A1:A18");
// Initialize filter for rows containing string "Ba"
worksheet.getAutoFilter().custom(0, FilterOperatorType.NOT_CONTAINS, "Ba");
//Refresh the filter to show/hide filtered rows
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save("outSourseSampleCountryNames.xlsx");
Benutzerdefinierter Filter mit BeginsWith

Excel bietet benutzerdefinierte Filter wie Filterzeilen, die mit einer bestimmten Zeichenfolge beginnen. Diese Funktion ist in Aspose.Cells verfügbar und wird unten durch Filtern der Namen in der unten angegebenen Beispieldatei demonstriert.

  1. sourceSampleCountryNames.xlsx.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object containing sample data
Workbook workbook = new Workbook(sourceDir + "sourseSampleCountryNames.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
// Creating AutoFilter by giving the cells range
worksheet.AutoFilter.Range = "A1:A18";
// Initialize filter for rows starting with string "Ba"
worksheet.AutoFilter.Custom(0, FilterOperatorType.BeginsWith, "Ba");
//Refresh the filter to show/hide filtered rows
worksheet.AutoFilter.Refresh();
// Saving the modified Excel file
workbook.Save(outputDir + "outSourseSampleCountryNames.xlsx");
Benutzerdefinierter Filter mit EndsWith

Excel bietet benutzerdefinierte Filter wie Filterzeilen, die mit einer bestimmten Zeichenfolge enden. Diese Funktion ist in Aspose.Cells verfügbar und wird unten durch Filtern der Namen in der unten angegebenen Beispieldatei demonstriert.

  1. sourceSampleCountryNames.xlsx.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Instantiating a Workbook object containing sample data
Workbook workbook = new Workbook(srcDir + "sourseSampleCountryNames.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Creating AutoFilter by giving the cells range
worksheet.getAutoFilter().setRange("A1:A18");
// Initialize filter for rows starting with string "Ba"
worksheet.getAutoFilter().custom(0, FilterOperatorType.ENDS_WITH, "ia");
//Refresh the filter to show/hide filtered rows
worksheet.getAutoFilter().refresh();
// Saving the modified Excel file
workbook.save(outDir + "outSourseSampleCountryNames.xlsx");

Themen vorantreiben