複数のワークブックを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);
}
}
}
複数のワークブックにあるワークシートを新しいワークブックに統合する
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);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。