Mehrere Arbeitsblätter in einem Arbeitsblatt zusammenführen
Wie man Arbeitsblätter kombiniert
Das untenstehende Beispiel verwendet die Methode Range.copy(), um alle Quellarbeitsblätter in einem Zieltabellenblatt innerhalb einer Zielarbeitsmappe zu kopieren.
Quellarbeitsmappe
Sie können jede Quellarbeitsmappe verwenden. In diesem Beispiel verwenden wir eine Quellarbeitsmappe mit drei Tabellenblättern.
Tabellenblatt 1
Tabellenblatt 2
Tabellenblatt 3
Ausgabearbeitsmappe
Wenn Sie den folgenden Code ausführen, erhalten Sie eine Arbeitsmappe mit einem einzigen Arbeitsblatt, das die Daten aller drei Arbeitsblätter enthält.
Das Ausgabearbeitsblatt enthält nun die Daten aller 3 Quellarbeitsblätter
Quellarbeitsmappe und Ausgabearbeitsmappe herunterladen
Beispielcode zum Zusammenführen mehrerer Arbeitsblätter in ein einziges Arbeitsblatt
Der folgende Codeausschnitt zeigt, wie mehrere Arbeitsblätter in ein einziges Arbeitsblatt kombiniert werden können.
// 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"); |