複雑な基準を満たすレコードを表示するためにMicrosoft Excelの高度なフィルタを適用する方法

可能な使用シナリオ

Microsoft Excelでは、複合条件を満たすレコードを表示するためにワークシートデータに 高度なフィルター を適用できます。Excelの データ > 詳細設定 コマンドを使ってこのフィルターを適用することができます(スクリーンショット参照)。

todo:image_alt_text

Aspose.Cells for Node.js via C++は、Worksheet.advanced_Filter() 方法を用いて高度なフィルターを適用することもできます。Microsoft Excelと同様に、以下のパラメータを受け付けます。

isFilter

リストをその場でフィルタ処理するかどうかを示します。

listRange

リストの範囲。

criteriaRange

基準の範囲。

copyTo

データをコピーする範囲。

uniqueRecordOnly

唯一の行を表示またはコピーします。

複雑な基準を満たすレコードを表示するMicrosoft 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);