多くの場合、Excelブック内、または1つのブックから別のブックにワークシートをコピーする必要があります。また、ワークシートの位置を変更する必要がある場合もあります。上記のタスクをプログラムで実行するために、この記事では、Javaを使用してExcelワークブック内でワークシートをコピーする方法を示します。さらに、Excelブック内のワークシートを移動する方法についても説明します。
- ExcelワークシートをコピーするJavaAPI
- 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ワークブックにワークシートをコピーする手順です。
- Workbookクラスを使用してExcelファイルをロードします。
- Workbook.getWorksheets()メソッドを使用して、WorksheetCollectionオブジェクトのワークシートを取得します。
- WorksheetCollection.addCopy(String)メソッドを使用して、名前を指定してワークシートをコピーします。
- Workbook.save(String)メソッドを使用して、更新されたブックを保存します。
次のコードサンプルは、Excelブックのワークシートをコピーまたは複製する方法を示しています。
// パスを使用してExcelファイルをロードします
Workbook wb = new Workbook("book1.xls");
// ワークブックのワークシートにアクセスします
WorksheetCollection sheets = wb.getWorksheets();
// ワークシートのコピーを作成します
sheets.addCopy("Sheet1");
// 更新されたExcelファイルを保存します
wb.save("updated.xls");
あるワークブックから別のワークブックにワークシートをコピーする
あるExcelブックから別のブックにワークシートをコピーすることもできます。以下は、あるワークブックにワークシートのクローンを作成し、それを別のワークブックに追加する手順です。
- Workbookクラスのオブジェクトを作成し、ソースExcelファイルをロードします。
- Workbookクラスの別のオブジェクトを作成し、宛先のExcelファイルをロードします。
- Workbook.getWorksheets().get(int).copy(sourceWorkbook.getWorksheets().get(int))メソッドを使用して、ワークシートをソースから宛先のワークブックにコピーします。
- 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でワークシートをある位置から別の位置に移動する手順です。
- Workbookクラスを使用してExcelファイルをロードします。
- Workbook.getWorksheets()メソッドを使用して、WorksheetCollectionオブジェクトのワークシートを取得します。
- ワークシートコレクションからWorksheetオブジェクトに目的のワークシートにアクセスします。
- Worksheet.moveTo(int)メソッドを使用して、ワークシートを指定されたインデックスに移動します。
- 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の他の機能を調べることができます。ご不明な点がございましたら、フォーラムまでお気軽に投稿してください。