Javaを使用してExcelファイルのワークシートをコピーする

多くの場合、Excelブック内、または1つのブックから別のブックにワークシートをコピーする必要があります。また、ワークシートの位置を変更する必要がある場合もあります。上記のタスクをプログラムで実行するために、この記事では、Javaを使用してExcelワークブック内でワークシートをコピーする方法を示します。さらに、Excelブック内のワークシートを移動する方法についても説明します。

Excelワークシートをコピーまたは移動するJavaAPI

ワークシートをExcelファイルでコピーまたは移動するには、Aspose.Cells for Javaを使用します。これは、スプレッドシートドキュメントを非常に簡単に作成または変更できる機能豊富な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ワークブックにワークシートをコピーする手順です。

  1. Workbookクラスを使用してExcelファイルをロードします。
  2. Workbook.getWorksheets()メソッドを使用して、WorksheetCollectionオブジェクトのワークシートを取得します。
  3. WorksheetCollection.addCopy(String)メソッドを使用して、名前を指定してワークシートをコピーします。
  4. Workbook.save(String)メソッドを使用して、更新されたブックを保存します。

次のコードサンプルは、Excelブックのワークシートをコピーまたは複製する方法を示しています。

// パスを使用してExcelファイルをロードします
Workbook wb = new Workbook("book1.xls");

// ワークブックのワークシートにアクセスします
WorksheetCollection sheets = wb.getWorksheets();

// ワークシートのコピーを作成します
sheets.addCopy("Sheet1");

// 更新されたExcelファイルを保存します
wb.save("updated.xls");

あるワークブックから別のワークブックにワークシートをコピーする

あるExcelブックから別のブックにワークシートをコピーすることもできます。以下は、あるワークブックにワークシートのクローンを作成し、それを別のワークブックに追加する手順です。

  1. Workbookクラスのオブジェクトを作成し、ソースExcelファイルをロードします。
  2. Workbookクラスの別のオブジェクトを作成し、宛先のExcelファイルをロードします。
  3. Workbook.getWorksheets().get(int).copy(sourceWorkbook.getWorksheets().get(int))メソッドを使用して、ワークシートをソースから宛先のワークブックにコピーします。
  4. Workbook.save(String)メソッドを使用して、宛先のブックを保存します。

次のコードサンプルは、Javaで1つのExcelブックから別のブックにワークシートのクローンを作成する方法を示しています。

// ソースExcelブックをロードする
Workbook source = new Workbook("source.xls");

// 宛先のExcelブックをロードします
Workbook destination = new Workbook("destination.xls");

// ソースワークブックの最初のシートを2番目のワークブックにコピーします
destination.getWorksheets().get(0).copy(source.getWorksheets().get(0));

// ファイルを保存します。
destination.save("updated.xls", FileFormatType.EXCEL_97_TO_2003);

Javaでワークシートをある位置から別の位置に移動する

以下は、Javaでワークシートをある位置から別の位置に移動する手順です。

  1. Workbookクラスを使用してExcelファイルをロードします。
  2. Workbook.getWorksheets()メソッドを使用して、WorksheetCollectionオブジェクトのワークシートを取得します。
  3. ワークシートコレクションからWorksheetオブジェクトに目的のワークシートにアクセスします。
  4. Worksheet.moveTo(int)メソッドを使用して、ワークシートを指定されたインデックスに移動します。
  5. Workbook.save(string)メソッドを使用して、更新されたブックを保存します。

次のコードサンプルは、Javaでワークシートをある位置から別の位置に移動する方法を示しています。

// Excelファイルをロードします
Workbook wb = new Workbook("workbook.xls");

// ブックの最初のワークシートを取得します
Worksheet sheet = wb.getWorksheets().get(0);

// ブックの最初のシートを3番目の位置に移動します
sheet.moveTo(2);

// 更新されたExcelファイルを保存します
wb.save("updated.xls");

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

一時ライセンスをリクエストすることで、Aspose.Cells for Javaを無料で試して評価することができます。

結論

この記事では、Javaを使用してExcelワークブックのワークシートをコピーする方法を学習しました。さらに、Excelブック内のある位置から別の位置にワークシートを移動する方法を見てきました。 ドキュメントを使用して、Aspose.Cells for Javaの他の機能を調べることができます。ご不明な点がございましたら、フォーラムまでお気軽に投稿してください。

関連項目