将多个工作表合并成一个工作表
Contents
[
Hide
]
有时候,您需要将多个工作表合并成一个工作表。通过使用 Aspose.Cells API,可以轻松实现这一目标。本文将展示一个代码示例,该示例读取源工作簿,并将所有源工作表的数据合并到目标工作簿中的一个工作表中。
如何合并工作表
下面的示例使用Range.copy()方法将所有源工作表复制到目标工作簿的单个工作表中。
源工作簿
您可以使用任何源工作簿。在此示例中,我们使用了一个包含三个工作表的源工作簿。
工作表 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"); |
其他资源
您可能会发现将多个工作簿合并为单个工作簿文章对于更多信息很有用。