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

可能な使用シナリオ

Microsoft Excelでは、ワークシートデータに高度なフィルタを適用して複雑な基準を満たすレコードを表示できます。このスクリーンショットに示すように、Microsoft Excelではデータ > 高度なフィルタのコマンドを使用して高度なフィルタを適用できます。

todo:image_alt_text

Aspose.Cellsでは、Worksheet.AdvancedFilter()メソッドを使用してAdvanced Filterを適用することもできます。Microsoft Excelと同様に、以下のパラメーターを受け入れます。

isFilter

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

listRange

リストの範囲。

criteriaRange

基準の範囲。

copyTo

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

uniqueRecordOnly

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

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

次のサンプルコードは、サンプルエクセルファイルに高度なフィルタを適用し、出力エクセルファイルを生成します。スクリーンショットでは、両方のファイルが比較のために表示されています。スクリーンショット内でわかるように、出力エクセルファイル内でデータが複雑な基準に従ってフィルタ処理されています。

todo:image_alt_text

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Load your source workbook
Workbook wb = new Workbook(sourceDir + "sampleAdvancedFilter.xlsx");
//Access first worksheet
Worksheet ws = wb.Worksheets[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.AdvancedFilter(true, "A5:D19", "A1:D2", "", false);
//Save the workbook in xlsx format
wb.Save(outputDir + "outputAdvancedFilter.xlsx", SaveFormat.Xlsx);