複雑な基準を満たすレコードを表示するためにMicrosoft Excelの高度なフィルタを適用する方法
可能な使用シナリオ
Microsoft Excelでは、複合条件を満たすレコードを表示するためにワークシートデータに 高度なフィルター を適用できます。Excelの データ > 詳細設定 コマンドを使ってこのフィルターを適用することができます(スクリーンショット参照)。
Aspose.Cells for Node.js via C++は、Worksheet.advanced_Filter() 方法を用いて高度なフィルターを適用することもできます。Microsoft Excelと同様に、以下のパラメータを受け付けます。
isFilter
リストをその場でフィルタ処理するかどうかを示します。
listRange
リストの範囲。
criteriaRange
基準の範囲。
copyTo
データをコピーする範囲。
uniqueRecordOnly
唯一の行を表示またはコピーします。
複雑な基準を満たすレコードを表示するMicrosoft Excelの高度なフィルタの適用
次のサンプルコードは、サンプルExcelファイルに高度なフィルターを適用し、出力Excelファイルを生成します。スクリーンショットは両方のファイルを比較表示しています。スクリーンショット内のデータは、複雑な条件に従ってフィルタリングされています。
サンプルコード
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); |