将多个工作表合并为一个工作表
Contents
[
Hide
]
有时,您需要将多个工作表组合成一个工作表。这可以使用 Aspose.Cells API 轻松实现。本文将向您展示一个代码示例,该示例读取源工作簿并将所有源工作表的数据组合到目标工作簿内的单个工作表中。
合并工作表
下面的示例使用[范围.copy()](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"); |
其他资源
你可能会发现将多个工作簿合并为一个工作簿文章对更多信息有用。