複雑な基準を満たすレコードを表示するためにMicrosoft Excelの高度なフィルタを適用する方法
可能な使用シナリオ
Microsoft Excelでは、ワークシートデータに高度なフィルタを適用して複雑な基準を満たすレコードを表示できます。このスクリーンショットに示すように、Microsoft Excelではデータ > 高度なフィルタのコマンドを使用して高度なフィルタを適用できます。
Aspose.Cellsを使用すると、Worksheet.advancedFilter()メソッドを使用して高度なフィルタを適用することができます。Microsoft Excelと同様に、このメソッドは以下のパラメータを受け入れます。
isFilter
リストをその場でフィルタ処理するかどうかを示します。
listRange
リストの範囲。
criteriaRange
基準の範囲。
copyTo
データをコピーする範囲。
uniqueRecordOnly
唯一の行を表示またはコピーします。
複雑な基準を満たすレコードを表示するMicrosoft Excelの高度なフィルタの適用
次のサンプルコードは、Sample Excel File に高度なフィルタを適用し、Output Excel File を生成しています。スクリーンショットでは、サンプルExcelファイルと出力Excelファイルを比較したものが表示されています。スクリーンショットの内側を見ると、出力Excelファイル内でデータが複雑な条件に従ってフィルタリングされているのがわかります。
サンプルコード
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Load your source workbook | |
Workbook wb = new Workbook(srcDir + "sampleAdvancedFilter.xlsx"); | |
// Access first worksheet | |
Worksheet 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.advancedFilter(true, "A5:D19", "A1:D2", "", false); | |
// Save the workbook in xlsx format | |
wb.save(outDir + "outputAdvancedFilter.xlsx", SaveFormat.XLSX); |