複数のワークブックを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 日間有効な一時ライセンスを取得してください。