Kombinera flera kalkylblad till ett enda kalkylblad

Hur man kombinerar kalkylblad

Exemplet nedan använder metoden Range.copy() för att kopiera alla källkalkylblad till ett enda blad i en målbok.

Källarbetsbok

Du kan använda vilken källbok som helst. För detta exempel använder vi en källbok som har tre kalkylblad.

Kalkylblad 1

todo:image_alt_text

Kalkylblad 2

todo:image_alt_text

Kalkylblad 3

todo:image_alt_text

Utgående arbetsbok

När du kör följande kod får du en arbetsbok med en enda arbetsblad som innehåller data från alla tre arbetsblad.

Utgående arbetsblad innehåller nu data från alla 3 källarbetsblad

todo:image_alt_text

Ladda ner källarbetsbok och utgående arbetsbok

Exempelkod för att slå samman flera arbetsblad till ett enda arbetsblad

Följande kodavsnitt visar hur man kombinerar flera arbetsblad till ett enda arbetsblad.

// 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");

Ytterligare resurser