MS Excelには、テキストを複数の列に分割するためのテキストから列への機能が用意されています。分割は、空白スペース、コンマ、特殊文字などに基づくことができます。この機能を自動化するために、この記事では、Javaアプリケーション内からExcelのテキストから列への変換を実行する方法について説明します。ステップバイステップガイドとコードサンプルは、Excelワークシートの列のテキストを分割する方法を示しています。
Excelでテキストを列に分割するJavaAPI
テキストをExcelワークシートの列に分割するには、Aspose.Cells for Javaを使用します。これは、Javaアプリケーション内からExcelファイルを作成、処理、および変換できる強力なAPIです。 APIをダウンロードするか、次のMaven構成を使用してインストールできます。
<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>21.6</version>
</dependency>
Javaを使用してExcelでテキストを列に分割する
以下は、Javaを使用してExcelでテキストを列に分割する手順です。
- Workbookクラスを使用してExcelファイルをロードします。
- テキストを分割するワークシートへの参照を取得します。
- セルに値を追加します(オプション)。
- TxtLoadOptionsクラスのインスタンスを作成し、TxtLoadOptions.setSeparator(value)メソッドを使用して分割文字を指定します。
- Worksheet.getCells().textToColumns(int row, int column, int totalRows, TxtLoadOptions options)メソッドを使用してテキストを列に分割します。
- Workbook.save(fileName, SaveFormat.XLSX)メソッドを使用してExcelファイルを保存します。
次のコードサンプルは、Excelワークシートの列にテキストを分割する方法を示しています。
// ブックを開きます。
Workbook wb = new Workbook("workbook.xlsx");
// 最初のワークシートにアクセスします。
Worksheet ws = wb.getWorksheets().get(0);
// 列Aに人の名前を追加します。ファストネームとラストネームはスペースで区切られます。
ws.getCells().get("A1").putValue("John Teal");
ws.getCells().get("A2").putValue("Peter Graham");
ws.getCells().get("A3").putValue("Brady Cortez");
ws.getCells().get("A4").putValue("Mack Nick");
ws.getCells().get("A5").putValue("Hsu Lee");
// 区切り文字としてスペースを使用してテキスト読み込みオプションを作成します。
TxtLoadOptions opts = new TxtLoadOptions();
opts.setSeparator(' ');
// TextToColumns()メソッドを使用して、列Aを2つの列に分割します。
// これで、列Aに名が付けられ、列Bに2番目の名前が付けられます。
ws.getCells().textToColumns(0, 0, 5, opts);
// ブックをxlsx形式で保存します。
wb.save("TextToColumns.xlsx");
出力
無料のAPIライセンスを取得する
評価の制限なしにAPIを使用するために、一時ライセンスを取得できます。
結論
この記事では、Javaを使用してExcelのテキストから列への機能を実装する方法を学習しました。コードサンプルは、列内のテキストを数ステップで複数の列に分割する方法を示しています。 ドキュメントを使用して、Aspose.Cells for Javaの詳細を調べることができます。ご不明な点がございましたら、フォーラムまでお問い合わせください。