大量のデータを含むワークシートは管理が難しい場合があります。このようなシナリオでは、フィルタを適用すると便利です。フィルタを使用して、必要な情報のみを表示し、残りのデータを非表示にすることができます。フィルタは、特定の列で特定の基準に一致するレコードのみを表示するために使用します。
DioDocs for Excel では、選択したデータ範囲にフィルタを適用できます。たとえば、日付タイプのフィルタを C4 から C7 の範囲に適用できます。あるセル範囲またはテーブルのデータをフィルタ処理するには、IWorksheetインタフェースのAutoFilterModeプロパティを使用して、ワークシートの自動フィルタモードをブール値 true または false に設定する必要があります。
ワークシートでフィルタ操作を実行するための範囲フィルタには、以下の種類があります。
数値セル値を含む列に数値フィルタを適用して、指定の条件を満たすデータを表示する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//数値フィルタを適用します worksheet.Range["D3:I6"].AutoFilter(0, "<>2"); |
複数の選択項目を含むセル値に複数選択フィルタを適用して、データをすばやくフィルタ処理する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//フィルタ条件は「複数選択」です worksheet.Range["A1:E5"].AutoFilter(0, new object[] { "$2", "$4" }, AutoFilterOperator.Values); |
列にテキストフィルタを適用して、指定したテキストまたは正規表現値と一致するセル値を持つ行を表示する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//「a」から始まります。 worksheet.Range["D3:I9"].AutoFilter(1, "a*"); |
範囲に日付フィルタを適用して、指定した日付範囲内の結果のみを表示する方法については、次のサンプルコードを参照してください。
Apply date filters |
コードのコピー
|
---|---|
//日付基準を使用してフィルタを適用します var criteria1 = new DateTime(2008, 1, 1).ToString(); var criteria2 = new DateTime(2008, 8, 1).ToString(); worksheet.Range["D20:F29"].AutoFilter(2, ">=" + criteria1, AutoFilterOperator.And, "<=" + criteria2); |
毎日自動的に更新される現在のシステム日付を考慮して、指定した日付条件に一致する結果を表示する動的日付フィルタを適用する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//昨日でフィルターします worksheet.Range["D7:F18"].AutoFilter(2, DynamicFilterType.Yesterday, AutoFilterOperator.Dynamic); |
セル色に基づくフィルタを列に適用して、特定の塗りつぶし階調を持つセルを含む結果を表示する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
worksheet.Range["A1:A6"].AutoFilter(0, Color.FromArgb(255, 255, 0), AutoFilterOperator.CellColor);
|
塗りつぶしなしに基づくフィルタを列に適用して、塗りつぶしのないセルを含む結果を表示する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
worksheet.Range["A1:A6"].AutoFilter(0, null, AutoFilterOperator.NoFill); |
アイコンに基づくフィルタを適用して、セルに特定のアイコンを含む結果を表示する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
worksheet.Range["A1:A10"].AutoFilter(0, workbook.IconSets[IconSetType.Icon5ArrowsGray][0], AutoFilterOperator.Icon);
|
アイコンなしに基づくフィルタを適用して、セルにアイコンがない結果を表示する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
worksheet.Range["A1:A10"].AutoFilter(0, null, AutoFilterOperator.NoIcon); |