大規模なデータセットを扱う場合、特定の条件に一致する情報を数秒で見つけることは非常に困難です。幸いなことに、Excel ワークブックには自動フィルター機能があり、関連する情報のみを表示し、それ以外のデータを非表示にすることで、検索条件を絞り込むことができます。この記事では、Spire.XLS for Java を使用して、Excel ワークシートに自動フィルターを追加または削除する方法について説明します。
- Java で Excel セルに自動フィルターを追加する
- Java で Excel セルに日付の自動フィルターを追加する
- Java で Excel セルにカスタム自動フィルターを追加する
- Java で Excel ワークシートの自動フィルターを削除する
Spire.XLS for Java をインストールします
まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>14.5.1</version>
</dependency>
</dependencies>
Java で Excel セルに自動フィルターを追加する
Spire.XLS for Java では、Worksheet.getAutoFilters().setRange() メソッドを使用して、特定のセル範囲に自動フィルターを適用できます。以下に詳細な手順を示します:
- Workbook のインスタンスを作成します。
- Workbook.loadFromFile() メソッドを使用して Excel ファイルをロードします。
- Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
- Worksheet.getAutoFilters().setRange() メソッドを使用して、指定したセル範囲に自動フィルターを追加します。
- Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
- Java
import com.spire.xls.*;
public class AddAutoFilterExcel {
public static void main(String[] args) {
// Workbookのインスタンスを作成する
Workbook workbook = new Workbook();
// Excelファイルをロードする
workbook.loadFromFile("サンプル.xlsx");
// 最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
// シートにAutoFilterを作成し、フィルタリングする範囲を指定する
sheet.getAutoFilters().setRange(sheet.getCellRange("A1:G1"));
// 結果のファイルを保存する
workbook.saveToFile("output/自動フィルターの作成.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Java で Excel セルに日付の自動フィルターを追加する
特定の日付または時間に関連する情報を調べる必要がある場合は、Workbook.getAutoFilters().addDateFilter(IAutoFilter column, DateTimeGroupingType dateTimeGroupingType, int year, int month, int day, int hour, int minute, int second) メソッドを使用して、選択した範囲に日付フィルターを適用できます。以下に詳細な手順を示します。
- Workbook のインスタンスを作成します。
- Workbook.loadFromFile() メソッドを使用して Excel ファイルをロードします。
- Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
- Workbook.getAutoFilters().setRange() メソッドを使用して、指定した範囲にオートフィルタを追加します。
- フィルターする列を取得します。
- Workbook.getAutoFilters().addDateFilter() メソッドを呼び出して、列に日付フィルターを追加し、指定した年/月/日などに関連するデータをフィルターします。
- Workbook.getAutoFilters().filter() メソッドを使用してフィルターを適用します。
- Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
- Java
import com.spire.xls.*;
import com.spire.xls.core.IAutoFilter;
import com.spire.xls.core.spreadsheet.autofilter.DateTimeGroupingType;
public class AddDateFilterExcel {
public static void main(String[] args) {
// Workbookのインスタンスを作成する
Workbook workbook = new Workbook();
// Excelファイルをロードする
workbook.loadFromFile("サンプル.xlsx");
// 最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
// シートにAutoFilterを作成し、フィルタリングする範囲を指定する
sheet.getAutoFilters().setRange(sheet.getCellRange("F1:F13"));
// フィルタリングする列を取得する
IAutoFilter filterColumn = sheet.getAutoFilters().get(0);
// 2022年2月に関連するデータをフィルタリングするための日付フィルタを追加する
sheet.getAutoFilters().addDateFilter(filterColumn, DateTimeGroupingType.Month, 2025, 5, 0, 0, 0, 0);
// フィルタを適用する
sheet.getAutoFilters().filter();
// 結果のファイルを保存する
workbook.saveToFile("output/日付フィルターの作成.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Java で Excel セルにカスタム自動フィルターを追加する
Workbook.getAutoFilters().customFilter(FilterColumn column, FilterOperatorType operatorType, java.lang.Object criteria) メソッドを使用すると、特定の条件に基づいてカスタムフィルターを作成できます。例えば、特定のテキストを含むデータをフィルターすることができます。詳細な手順は以下のとおりです。
- Workbook のインスタンスを作成します。
- Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
- Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
- Workbook.getAutoFilters().setRange() メソッドを使用して、指定した範囲に自動フィルターを追加します。
- フィルターする列を取得します。
- Workbook.getAutoFilters().customFilter() メソッドを使用して、指定された文字列を含むデータをフィルターするカスタムフィルターを列に追加します。
- Workbook.getAutoFilters().filter() メソッドを使用してフィルターを適用します。
- Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
- Java
import com.spire.xls.*;
import com.spire.xls.core.spreadsheet.autofilter.FilterColumn;
import com.spire.xls.core.spreadsheet.autofilter.FilterOperatorType;
public class AddCustomFilterExcel {
public static void main(String[] args) {
// Workbookのインスタンスを作成する
Workbook workbook = new Workbook();
// Excelファイルをロードする
workbook.loadFromFile("サンプル.xlsx");
// 最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
// シートにAutoFilterを作成し、フィルタリングする範囲を指定する
sheet.getAutoFilters().setRange(sheet.getCellRange("B1:B13"));
// フィルタリングする列を取得する
FilterColumn filterColumn = sheet.getAutoFilters().get(0);
// "Grocery"という文字列を含むデータをフィルタリングするためのカスタムフィルタを追加する
String strCrt = "Ellis Turner";
sheet.getAutoFilters().customFilter(filterColumn, FilterOperatorType.Equal, strCrt);
// フィルタを適用する
sheet.getAutoFilters().filter();
// 結果のファイルを保存する
workbook.saveToFile("output/カスタムフィルターの作成.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Java で Excel ワークシートの自動フィルターを削除する
Excel ファイルに自動フィルターを追加するだけでなく、Worksheet.getAutoFilters().clear() メソッドを使用して Excel ファイルから自動フィルターを削除することもできます。以下はその詳細な手順です。
- Workbook のインスタンスを作成します。
- Workbook.loadFromFile() メソッドを使用して Excel ファイルをロードします。
- Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
- Worksheet.getAutoFilters().clear() メソッドを使用して、ワークシートから自動フィルターを削除します。
- Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
- Java
import com.spire.xls.*;
public class RemoveFilterExcel {
public static void main(String[] args) {
// Workbookのインスタンスを作成する
Workbook workbook = new Workbook();
// Excelファイルをロードする
workbook.loadFromFile("output/自動フィルターの作成.xlsx");
// 最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
// AutoFilterを削除する
sheet.getAutoFilters().clear();
// 結果のファイルを保存する
workbook.saveToFile("output/フィルターの削除.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。