チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Java»Spire.XLS for Java»セル»Java:Excel でセル範囲を複製する方法
2023-07-19

Java:Excel でセル範囲を複製する方法

セル範囲の複製は、スプレッドシート管理の基本的で非常に役に立つ機能であり、ユーザーは簡単に指定した位置にデータ、書式設定、数式などのセルの範囲を複製できます。これにより、ユーザーはスプレッドシート全体で同一のコンテンツを効率的に複製しながら、入力エラーの可能性を減らすことができます。重要なのは、セル範囲を複製する際に、セル間の相対的な関係が保持され、複製されたデータと元のデータとの一貫性が確保されることです。そのため、この機能はファイルのバックアップやテンプレート作成などのタスクに非常に価値があり、スプレッドシートには欠かせないツールとなっています。この記事では、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();
    }
}

Java:Excel でセル範囲を複製する方法

ワークシート間で特定のセル範囲を複製する

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();
    }
}

Java:Excel でセル範囲を複製する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 1046 times