Anwendung des erweiterten Filters von Microsoft Excel zur Anzeige von Datensätzen, die komplexe Kriterien erfüllen

Mögliche Verwendungsszenarien

Microsoft Excel ermöglicht es, Erweiterte Filter auf Tabellenblatt-Daten anzuwenden, um Datensätze zu filtern, die komplexen Kriterien entsprechen. Sie können den erweiterten Filter in Excel über den Befehl Daten > Erweitert ausführen, wie im Screenshot gezeigt.

todo:image_alt_text

Aspose.Cells for Node.js via C++ ermöglicht es auch, den erweiterten Filter mit der Worksheet.advanced_Filter()-Methode anzuwenden. Genau wie Microsoft Excel akzeptiert es die folgenden Parameter.

isFilter

Gibt an, ob die Liste am gleichen Ort gefiltert wird.

listRange

Der Listenbereich.

criteriaRange

Der Kriterienbereich.

copyTo

Der Bereich, in den Daten kopiert werden.

uniqueRecordOnly

Nur eindeutige Zeilen anzeigen oder kopieren.

Erweiterten Filter von Microsoft Excel anwenden, um Datensätze anhand komplexer Kriterien anzuzeigen

Der folgende Beispielcode wendet den erweiterten Filter auf die Beispiel-Excel-Datei an und erstellt die Ausgabe-Excel-Datei. Der Screenshot zeigt beide Dateien zum Vergleich. Wie im Screenshot sichtbar ist, wurden die Daten innerhalb der Ausgabedatei entsprechend komplexer Kriterien gefiltert.

todo:image_alt_text

Beispielcode

const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const sourceDir = path.join(__dirname, "data");
const outputDir = path.join(__dirname, "output");
// Load your source workbook
const wb = new AsposeCells.Workbook(path.join(sourceDir, "sampleAdvancedFilter.xlsx"));
// Access first worksheet
const ws = wb.getWorksheets().get(0);
// Apply advanced filter on range A5:D19 and criteria range is A1:D2
// Besides, we want to filter in place
// And, we want all filtered records not just unique records
ws.advanced_Filter(true, "A5:D19", "A1:D2", "", false);
// Save the workbook in xlsx format
wb.save(path.join(outputDir, "outputAdvancedFilter.xlsx"), AsposeCells.SaveFormat.Xlsx);