Объединить несколько рабочих листов в один рабочий лист
Contents
[
Hide
]
Иногда вам нужно объединить несколько рабочих листов в один рабочий лист. Этого легко добиться с помощью Aspose.Cells API. В этой статье будет показан пример кода, который считывает исходную книгу и объединяет данные всех исходных листов в один лист внутри целевой книги.
Объединение листов
В приведенном ниже образце используется[Диапазон.копировать()](https://reference.aspose.com/cells/java/com.aspose.cells/range#copy(com.aspose.cells.Range)для копирования всех исходных листов на один лист в целевой книге.
Исходная рабочая книга
Вы можете использовать любую исходную книгу. В этом примере мы используем исходную книгу с тремя листами.
Рабочий лист 1
Рабочий лист 2
Рабочий лист 3
Выходная книга
Выполнение следующего кода предоставляет рабочую книгу с одним рабочим листом, содержащим данные всех трех рабочих листов.
Выходной рабочий лист теперь содержит данные всех 3 исходных рабочих листов.
Скачать исходную книгу и выходную книгу
Пример кода
В следующем фрагменте кода показано, как объединить несколько рабочих листов в один рабочий лист.
This file contains 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"); |
Дополнительные ресурсы
Вы можете найтиОбъединение нескольких рабочих книг в одну рабочую книгу статья полезна для получения дополнительной информации.