Javaを使用してExcelでデータを検索する

Excelスプレッドシートを使用すると、大量のデータを表形式で保存できます。場合によっては、保存されたデータから特定のデータ値または文字列を含むセルを検索する必要があります。 Excelには、すべてのスプレッドシートを検索するための組み込み機能が用意されていますが、Javaアプリケーションでプログラムで検索操作を実行する必要がある場合があります。この記事では、Javaを使用してExcelでデータを検索する方法を学習します。

この記事では、次のトピックについて説明します。

Excelでデータを検索するJavaAPI

Aspose.Cells for Java APIを使用して、XLSXファイルの検索操作を実行します。これにより、Microsoft Excelアプリケーションを必要とせずに、プログラムでExcel自動化機能を実行できます。 APIのJARをダウンロードするか、MavenベースのJavaアプリケーションに次のpom.xml構成を追加してください。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>22.1</version>
</dependency>

Javaを使用してExcelで特定のテキストを検索する

以下の手順に従って、Excelファイル内の任意のテキスト、数値、または日付の値を検索できます。

  • まず、Workbookクラスを使用してExcelファイルをロードします。
  • 次に、Excelファイルの最初のワークシートにアクセスします。
  • 次に、アクセスしたシートのcellsを取得します。
  • 次に、FindOptionsクラスのインスタンスを作成します。
  • その後、LookAtTypeを「ENTIRECONTENT」に設定します。
  • 最後に、Cells.find()メソッドを使用してテキストを検索します。引数として検索文字列とFindOptionsを取ります。

次のコードサンプルは、Javaを使用してExcelファイル内の特定のテキストを検索する方法を示しています。

// Excelファイルをロードする
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excelファイルの最初のワークシートにアクセスします
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollectionsのすべてのセルを取得します
Cells cells = worksheet.getCells();

// FindOptionsを初期化します
FindOptions findOptions = new FindOptions();

// 文字列値を含むセルを検索します
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
Cell cell = cells.find("A Company", null, findOptions);

// セル名とその値を表示する
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Javaを使用してExcelで特定のテキストを検索する

Javaを使用してExcelで特定のテキストを検索します。

特定の文字で始まるテキストを検索する

上記の手順に従って、特定の文字で始まる任意のテキスト値を検索できます。ただし、LookAtTypeを「STARTWITH」として設定する必要があります。

次のコードサンプルは、Javaを使用してExcelファイルで文字「H」で始まる特定のテキストを見つける方法を示しています。

// Excelファイルをロードする
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excelファイルの最初のワークシートにアクセスします
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollectionsのすべてのセルを取得します
Cells cells = worksheet.getCells();

// FindOptionsを初期化します
FindOptions findOptions = new FindOptions();

// 文字列値を含むセルを検索します
findOptions.setLookAtType(LookAtType.START_WITH);
Cell cell = cells.find("H", null, findOptions);

// セル名とその値を表示する
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

特定の文字で終わるテキストを検索する

上記の手順に従って、特定の文字で終わる任意のテキスト値を検索できます。ただし、LookAtTypeを「ENDWITH」として設定する必要があります。

次のコードサンプルは、Javaを使用してExcelファイルで「any」という文字で終わる特定のテキストを見つける方法を示しています。

// Excelファイルをロードする
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excelファイルの最初のワークシートにアクセスします
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollectionsのすべてのセルを取得します
Cells cells = worksheet.getCells();

// FindOptionsを初期化します
FindOptions findOptions = new FindOptions();

// 文字列値を含むセルを検索します
findOptions.setLookAtType(LookAtType.ENDS_WITH);
Cell cell = cells.find("any", null, findOptions);

// セル名とその値を表示する
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

特定の文字を含むテキストを検索する

上記の手順に従うことで、特定の部分文字列を含む任意のテキスト値を検索できます。ただし、LookAtTypeを「CONTAINS」として設定する必要があります。

次のコードサンプルは、Javaを使用してExcelファイルで「comp」を含むテキストを検索する方法を示しています。

// Excelファイルをロードする
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excelファイルの最初のワークシートにアクセスします
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollectionsのすべてのセルを取得します
Cells cells = worksheet.getCells();

// FindOptionsを初期化します
FindOptions findOptions = new FindOptions();

// 文字列値を含むセルを検索します
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("comp", null, findOptions);

// セル名とその値を表示する
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Javaを使用してExcelで正規表現を使用して検索

上記の手順に従って、正規表現を使用してセル値を検索することもできます。ただし、正規表現キーをtrueに設定し、LookAtTypeを「CONTAINS」に設定する必要があります。

次のコードサンプルは、Javaを使用してExcelファイルで正規表現を使用してテキストを検索する方法を示しています。

// Excelファイルをロードする
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excelファイルの最初のワークシートにアクセスします
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollectionsのすべてのセルを取得します
Cells cells = worksheet.getCells();

// FindOptionsを初期化します
FindOptions findOptions = new FindOptions();

// 正規表現として定義します
findOptions.setRegexKey(true);
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
findOptions.setLookInType(LookInType.VALUES);
Cell cell = cells.find("[a-z]{1}[\\s]&[\\s][a-z]{1}", null, opt);

// セル名とその値を表示する
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Javaを使用してExcelで正規表現を使用して検索

Javaを使用してExcelで正規表現を使用して検索します。

Javaを使用したExcelでの大文字と小文字を区別する検索

上記の手順に従うことで、検索操作を実行し、大文字と小文字を区別するテキスト文字列を見つけることができます。ただし、CaseSensitiveプロパティをtrueに設定する必要があります。

次のコードサンプルは、Javaを使用してExcelファイルで大文字と小文字を区別するテキストを検索する方法を示しています。

// Excelファイルをロードする
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excelファイルの最初のワークシートにアクセスします
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollectionsのすべてのセルを取得します
Cells cells = worksheet.getCells();

// FindOptionsを初期化します
FindOptions findOptions = new FindOptions();

// 数式を含むセルを検索する
findOptions.setCaseSensitive(true);
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("Ltd", null, findOptions);

// セル名とその値を表示する
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Javaを使用してExcelで数式を検索する

以下の手順に従って、Excelファイル内の数式を含むセルを検索できます。

  • まず、Workbookクラスを使用してExcelファイルをロードします。
  • 次に、Excelファイルの最初のワークシートにアクセスします。
  • 次に、アクセスしたシートのセルを取得します。
  • 次に、FindOptionsクラスのインスタンスを作成します。
  • その後、LookInTypeを「FORMULAS」に設定します。
  • 最後に、Cells.find()メソッドを使用してテキストを検索します。引数として検索文字列とFindOptionsを取ります。

次のコードサンプルは、Javaを使用してExcelファイルで数式セルを検索する方法を示しています。

// Excelファイルをロードする
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excelファイルの最初のワークシートにアクセスします
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollectionsのすべてのセルを取得します
Cells cells = worksheet.getCells();

// FindOptionsを初期化します
FindOptions findOptions = new FindOptions();

// 数式を含むセルを検索する
findOptions.setLookInType(LookInType.FORMULAS);
Cell cell = cells.find("=SUM(C2:C10)", null, findOptions);

// セル名とその値を表示する
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Javaを使用してExcelで数式を検索します。

Javaを使用してExcelで数式を検索します。

無料ライセンスを取得する

無料の一時ライセンスをリクエストして、評価制限なしでAPIを試してください。

結論

この記事では、Javaを使用してExcelでテキストまたは数式を検索する方法を学習しました。具体的には、プログラムで特定の文字を開始、終了、または含むテキストをExcelで検索する方法を学習しました。また、Excelファイルで正規表現を使用して検索する方法も確認しました。さらに、ドキュメントを使用して、JavaAPI用のAspose.Cellsについて詳しく知ることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目