チュートリアル

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

チュートリアル»Java»Spire.XLS for Java»文書操作»Java:Excel ワークブックを結合または分割する方法
2023-01-04

Java:Excel ワークブックを結合または分割する方法

複数のワークブックを1つのワークブックにまとめた場合、関連するデータをワークシートで管理するのが便利です。ただし、時には1つのワークブック内のワークシートを別のワークブックに分割し、他の情報を漏らさずに個々のワークシートを配布することも必要です。この記事では、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>12.8.4</version>
    </dependency>
</dependencies>

Excel ワークブックを複数のワークブックに分割する

ワークブックの分割は、そのワークブックのワークシートを取得し、新しいワークブックに挿入することで実現できます。詳しい手順については、以下のとおりです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドで Excel ファイルを読み込みます。
  • 新しいワークブックを作成するために使用する変数 Workbook を宣言します。
  • 元のワークブック内のワークシートをループします。
  • Workbook クラスオブジェクトを初期化し、元のワークブックの特定のワークシートのコピーをその中に追加します。
  • Workbook.saveToFile() メソッドを使用して、ワークブックをファイルに保存します。
  • Java
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class splitWorkbook {

    public static void main(String[] args) {

        //Workbookクラスのオブジェクトを作成する
        Workbook wb = new Workbook();

        //Excelファイルを読み込む
        wb.loadFromFile("貸借対照表.xlsx");

        //Workbookの変数を宣言する
        Workbook newWb;

        //String変数を宣言する
        String sheetName;

        //生成されたExcelファイルを格納するフォルダパスを指定する
        String folderPath = "output\\";

        //元ファイルのワークシートをループする
        for (int i = 0; i < wb.getWorksheets().getCount(); i++) {

            //Workbookオブジェクトを初期化する
            newWb = new Workbook();

            //デフォルトのシートを削除する
            newWb.getWorksheets().clear();

            //元のワークブックの特定のワークシートを新しいワークブックに追加する
            newWb.getWorksheets().addCopy(wb.getWorksheets().get(i));

            //ワークシートの名前を取得する
            sheetName = wb.getWorksheets().get(i).getName();

            //新しいワークブックを指定されたフォルダに保存する
            newWb.saveToFile(folderPath + sheetName + ".xlsx", FileFormat.Version2013);
        }
    }
}

Java:Excel ワークブックを結合または分割する方法

複数のワークブックにあるワークシートを新しいワークブックに統合する

Spire.XLS for Java では、ワークブック内のワークシートをコピーして新しいワークブックに追加する Workbook.getWorksheets().addCopy() という機能が提供されています。各ワークブックをループして、すべてのワークシートをコピーすることができます。Excel ワークブックを結合する詳細な手順は以下のとおりです。

  • String[] クラスのオブジェクトを作成し、結合するワークブックを入力します。
  • Workbook クラスのインスタンスを作成します。
  • Workbook.getWorksheets().clear() メソッドを使用して、ワークブック内のワークシートを削除します。
  • 別の Workbook クラスのインスタンスを作成します。
  • 入力されたワークブックをループし、Workbook.getWorksheets().addCopy() メソッドを使用してワークシートを新しいワークブックにコピーします。
  • Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
  • Java
import com.spire.xls.*;

public class mergeWorkbooks {
    public static void main(String[] args){
        //Excelワークブックを入力する
        String[] inputFiles = new String[]{"output/概要.xlsx","output/負債と資本.xlsx", "output/資産.xlsx"};

        //Workbookクラスのオブジェクトを作成する
        Workbook newBook = new Workbook();

        //すべてのワークシートを削除する
        newBook.getWorksheets().clear();

        //別のWorkbookクラスのオブジェクトを作成する
        Workbook tempBook = new Workbook();

        //Excelファイルをループして、各Excelワークブックのワークシートを新しいワークブックにコピーする
        for (String file : inputFiles)
        {
            tempBook.loadFromFile(file);
            for (Object sheet : (Iterable)tempBook.getWorksheets())
            {
                newBook.getWorksheets().addCopy((Worksheet) sheet, WorksheetCopyType.CopyAll);
            }
        }

        //結果ファイルを保存する
        newBook.saveToFile("ワークブックの結合.xlsx", ExcelVersion.Version2013);
    }
}

Java:Excel ワークブックを結合または分割する方法

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

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

Read 895 times