複数のワークシートを単一のワークシートにマージする
Contents
[
Hide
]
複数のワークシートを1つのワークシートに結合する必要がある場合があります。Aspose.Cells APIを使用すれば簡単に実現できます。この記事では、ソースブックを読み込み、すべてのソースワークシートのデータを目的のワークブック内の単一のワークシートに結合するコード例を紹介します。
ワークシートを結合する方法
以下のサンプルは、Range.copy()メソッドを使用してすべてのソースワークシートを宛先ブック内の単一シートにコピーします。
ソースワークブック
任意のソースブックが使用できます。この例では、3つのワークシートを持つソースブックを使用しています。
ワークシート1
ワークシート2
ワークシート3
出力ワークブック
次のコードを実行すると、すべての3つのワークシートのデータが含まれた単一のワークシートを持つワークブックが作成されます。
出力ワークシートには今や3つのソースワークシートのデータが含まれています
ソースワークブックおよび出力ワークブックのダウンロード
複数のワークシートを1つのワークシートにマージするためのサンプルコード
次のコードスニペットは、複数のワークシートを1つのワークシートに結合する方法を示しています。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(CombineMultipleWorksheets.class); | |
Workbook workbook = new Workbook(dataDir + "source.xlsx"); | |
Workbook destWorkbook = new Workbook(); | |
Worksheet destSheet = destWorkbook.getWorksheets().get(0); | |
int TotalRowCount = 0; | |
for (int i = 0; i < workbook.getWorksheets().getCount(); i++) { | |
Worksheet sourceSheet = workbook.getWorksheets().get(i); | |
Range sourceRange = sourceSheet.getCells().getMaxDisplayRange(); | |
Range destRange = destSheet.getCells().createRange(sourceRange.getFirstRow() + TotalRowCount, | |
sourceRange.getFirstColumn(), sourceRange.getRowCount(), sourceRange.getColumnCount()); | |
destRange.copy(sourceRange); | |
TotalRowCount = sourceRange.getRowCount() + TotalRowCount; | |
} | |
destWorkbook.save(dataDir + "output.xlsx"); |
追加リソース
1つのワークブックに複数のワークブックを結合」記事でより詳しい情報を得るために役立つかもしれません。