Объединить несколько рабочих листов в один рабочий лист

Объединение листов

В приведенном ниже образце используется[Диапазон.копировать()](https://reference.aspose.com/cells/java/com.aspose.cells/range#copy(com.aspose.cells.Range)для копирования всех исходных листов на один лист в целевой книге.

Исходная рабочая книга

Вы можете использовать любую исходную книгу. В этом примере мы используем исходную книгу с тремя листами.

Рабочий лист 1

дело:изображение_альтернативный_текст

Рабочий лист 2

дело:изображение_альтернативный_текст

Рабочий лист 3

дело:изображение_альтернативный_текст

Выходная книга

Выполнение следующего кода предоставляет рабочую книгу с одним рабочим листом, содержащим данные всех трех рабочих листов.

Выходной рабочий лист теперь содержит данные всех 3 исходных рабочих листов.

дело:изображение_альтернативный_текст

Скачать исходную книгу и выходную книгу

Пример кода

В следующем фрагменте кода показано, как объединить несколько рабочих листов в один рабочий лист.

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

Дополнительные ресурсы