Объединение нескольких листов в один лист
Contents
[
Hide
]
Иногда вам нужно объединить несколько листов в один. Это легко сделать с помощью API Aspose.Cells. В этой статье будет показан пример кода, который читает исходную книгу и объединяет данные всех исходных листов в один лист внутри целевой книги.
Как объединить листы
В приведенном ниже образце использован метод Range.copy() для копирования всех исходных листов в один лист внутри целевой книги.
Исходная рабочая книга
Вы можете использовать любую исходную рабочую книгу. В этом примере мы используем исходную рабочую книгу, в которой есть три листа.
Лист 1
Лист 2
Лист 3
Выходная рабочая книга
Запуск следующего кода создает рабочую книгу с одним листом, содержащим данные всех трех листов.
На выходном листе теперь содержатся данные всех 3 исходных листов
Загрузить исходную рабочую книгу и выходную рабочую книгу
Пример кода для объединения нескольких листов в один лист
Приведенный ниже фрагмент кода показывает, как объединить несколько листов в один лист.
This file contains hidden or 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"); |
Дополнительные ресурсы
Вы можете найти полезной статью Объединение нескольких рабочих книг в одну рабочую книгу для получения дополнительной информации.