JavaScript Excel ライブラリのフィルター設定を活用するには、まず Workbook オブジェクトを作成してください。それには、操作方法のトピック『Excel ファイルをブックに読み込む』で説明したように既存の Microsoft® Excel® ファイルを読み込むか、ブランクのワークブックを作成します。空白のワークブックを作成する場合、ファイルに書き込む前にワークシートを少なくとも 1 つ追加する必要があります。ワークシートを作成後、Excel ファイルにフィルター条件およびその他の設定を追加できます。
フィルターを構成するには、ワークシートの WorksheetFilterSettings にフィルター条件を設定します。フィルター条件は、フィルター条件が追加、削除、変更される時に、または reapplyFilters メソッドがシートで呼び出されるときに限り再適用されます。フィルターは、領域のデータの変更に伴って絶えず評価しなおされるというわけではありません。フィルターが領域に適用されるのは、並べ替え条件が追加または削除されたときや、ReapplyFilters メソッドが呼び出されたときだけです。
フィルターが適用されていない場合、このメソッドは列データに対して何も行いません。
以下の表は、WorksheetFilterSettings によって処理されるメソッドについて説明します。
列に設定する並べ替え条件タイプは次のとおりです。
メソッド | 説明 |
---|---|
ApplyAverageFilter | データ範囲全体の平均を下回るデータであるか上回るデータであるかという条件に基づいてデータを絞り込むことのできるフィルターです。 |
ApplyDatePeriodFilter | 月または四半期の日付をフィルターできるフィルターを表します。 |
ApplyFillFilter | 背景の塗りつぶしに基づいてセルを絞り込むフィルターを表します。このフィルターには CellFill を 1 つ指定します。この塗りつぶしのセルがデータ範囲に表示されることになります。他のセルはすべて非表示になります。 |
ApplyFixedValuesFilter | 具体的な指定値に基づいて表示セルを絞り込むことのできるフィルターです。 |
ApplyFontColorFilter | フォントの色に基づいてセルを絞り込むフィルターを表します。このフィルターには 1 つの色を指定します。この色のフォントのセルがデータ範囲に表示されることになります。他のセルはすべて非表示になります。 |
ApplyIconFilter | 条件付き書式アイコンに基づいてセルを絞り込むフィルターを表します。 |
ApplyRelativeDateRangeFilter | フィルターの適用日を基点とした相対日付によって日付セルの範囲を絞り込むことのできるフィルターです。 |
ApplyTopOrBottomFilter | 並べ替えられた値リストの上位または下位にあるセルを表示できるフィルターです。 |
ApplyYearToDateFilter | 日付セルの範囲を現在の年の開始日からフィルターの評価実施日までの期間に絞り込むことのできるフィルターです。 |
ApplyCustomFilter | 1 つ、ないし 2 つのカスタム条件に基づいてデータを絞り込むことのできるフィルターです。この 2 つの絞り込み条件は論理積 (and) または論理和 (or) 演算子と組み合わせて使用できます。 |
このコードは、列のすべてのセルの平均値を上回るセルをフィルターする方法を示します。平均値より下回るフィルタリングは同じ方法で実行されます。
この例のコードは、ワークブックおよびワークシートを作成し、指定した領域を WorksheetFilterSettings で変更します。その後フィルターが領域の列で適用されます。最後にワークブックが保存されるため、フィルターされた領域が表示できます。
以下のコードはこの例を実装します。
JavaScript の場合:
// Create a new workbook
var workbook = new $.ig.excel.Workbook($.ig.excel.WorkbookFormat.excel2007);
var sheet = workbook.worksheets().add('Sheet1');
// Filter the worksheet object
sheet.filterSettings().setRegion("C1:C15");
sheet.filterSettings().applyCustomFilter(0, new $.ig.excel.CustomFilterCondition($.ig.excel.ExcelComparisonOperator.equals, "Dairy Products"));
オンラインで表示: GitHub