应用Microsoft Excel的高级筛选以显示符合复杂条件的记录

可能的使用场景

Microsoft Excel允许在工作表数据上应用高级筛选以显示满足复杂条件的记录。你可以通过数据 > 高级命令应用高级筛选,如此截屏所示。

todo:image_alt_text

Aspose.Cells for Node.js via C++还允许你使用Worksheet.advanced_Filter()方法应用高级筛选。就像Microsoft Excel一样,它接受以下参数。

isFilter

-listRange- 列表范围。

-criteriaRange- 条件范围。

列表范围。

criteriaRange

条件范围。

copyTo

拷贝数据的范围。

uniqueRecordOnly

仅显示或拷贝唯一行。

将 Microsoft Excel 的高级筛选应用于显示符合复杂条件的记录

以下示例代码在示例Excel文件上应用高级筛选,并生成输出Excel文件。截图显示两个文件以供比较。如截图所示,数据已根据复杂条件在输出Excel文件中被筛选。

todo:image_alt_text

示例代码

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);