セル範囲の複製は、スプレッドシート管理の基本的で非常に役に立つ機能であり、ユーザーは簡単に指定した位置にデータ、書式設定、数式などのセルの範囲を複製できます。これにより、ユーザーはスプレッドシート全体で同一のコンテンツを効率的に複製しながら、入力エラーの可能性を減らすことができます。重要なのは、セル範囲を複製する際に、セル間の相対的な関係が保持され、複製されたデータと元のデータとの一貫性が確保されることです。そのため、この機能はファイルのバックアップやテンプレート作成などのタスクに非常に価値があり、スプレッドシートには欠かせないツールとなっています。この記事では、Spire.XLS for 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>13.6.5</version> </dependency> </dependencies> ワークシート内の特定のセル範囲を複製する Spire.XLS for Java には、同じワークシート内の特定のセル範囲の複製をサポートする Worksheet.copy() メソッドが用意されています。以下は詳細な手順です。 新しい Workbook オブジェクトを作成します。 Workbook.loadFromFile() メソッドを使用してディスクから Excel ファイルを読み込みます。 Workbook.getWorksheets().get() メソッドを使用して、最初のワークシートを取得します。 Worksheet.getCellRange() メソッドを使用して、最初のシートのソース範囲とターゲット範囲を取得します。 Worksheet.copy() メソッドを使用して、ワークシート内の特定のセル範囲を複製します。 最後に、出力パスを指定し、Workbook.saveToFile() メソッドを使用して結果ファイルを保存します。 Java import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class CopyRow { public static void main(String[] args) { //Workbookオブジェクトを作成する Workbook wb = new Workbook(); //ディスクからExcelファイルをロードする wb.loadFromFile("sample.xlsx", ExcelVersion.Version2013); //最初のシートを取得する Worksheet sheet = wb.getWorksheets().get(0); //ソース範囲とターゲット範囲を取得する CellRange sourceRange = sheet.getCellRange("A1:E1"); CellRange destRange = sheet.getCellRange("A10:E10"); //特定のセル範囲をシートに複製する sheet.copy (sourceRange,destRange,true); //結果ファイルを保存する wb.saveToFile("CopyRangeWithinSheet.xlsx", ExcelVersion.Version2013); wb.dispose(); } } ワークシート間で特定のセル範囲を複製する Spire.XLS for Java ライブラリを使用すると、セル範囲をあるシートから別のシートに簡単に複製することもできます。以下は、異なるワークシート間でセル範囲を複製する手順です。 新しい Workbook オブジェクトを作成します。 Workbook.loadFromFile() メソッドを使用してディスクから Excel ファイルを読み込みます。 Workbook.getWorksheets().get() メソッドを使用して、このファイルの 1 番目と 2 番目のワークシートを取得します。 Worksheet.getCellRange() メソッドを使用してソース範囲とターゲット範囲を取得します。 Worksheet.copy() メソッドを呼び出して、sheet1 から sheet2 に特定のセル範囲を複製します。 autoFitColumn() メソッドを使用して、sheet2 の列幅を自動調整します。 最後に、出力パスを指定し、Workbook.saveToFile() メソッドを使用して結果ファイルを保存します。 Java import com.spire.xls.CellRange; import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class CopyRow { public static void main(String[] args) { //Workbookオブジェクトを作成する Workbook wb = new Workbook(); //ディスクからExcelファイルをロードする wb.loadFromFile("sample.xlsx", ExcelVersion.Version2013); //最初のシートを取得する Worksheet sheet1 = wb.getWorksheets().get(0); //2番目のシートを取得する Worksheet sheet2 = wb.getWorksheets().get(1); //ソース範囲とターゲット範囲を取得する CellRange sourceRange = sheet1.getCellRange("A1:E1"); CellRange destRange = sheet2.getCellRange("A1:E1"); //特定のセル範囲をsheet1からsheet2に複製する sheet1.copy (sourceRange,destRange,true); //sheet2の列幅を自動調整する for (int i = 0; i < 8; i++) { sheet2.autoFitColumn(i+1); } //結果ファイルを保存する wb.saveToFile("CopyRangeBetweenSheets.xlsx", ExcelVersion.Version2013); wb.dispose(); } } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。