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

Как объединить листы

В приведенном ниже образце использован метод Range.copy() для копирования всех исходных листов в один лист внутри целевой книги.

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

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

Лист 1

todo:image_alt_text

Лист 2

todo:image_alt_text

Лист 3

todo:image_alt_text

Выходная рабочая книга

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

На выходном листе теперь содержатся данные всех 3 исходных листов

todo:image_alt_text

Загрузить исходную рабочую книгу и выходную рабочую книгу

Пример кода для объединения нескольких листов в один лист

Приведенный ниже фрагмент кода показывает, как объединить несколько листов в один лист.

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

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