在日常使用Excel软件办公时,通常会产生很多文档。当我们需对其中的数据进行整理和统计时,对文档进行合并处理将能够大大提高操作效率。一般文档合并可分为两种情况:一是将同一个Excel文档内多张工作表的数据合并到一张工作表;二是将多个Excel文档合并到一个Excel文档。本文就将通过使用Java程序来演示以上两种文档合并的情况。
使用工具:Free Spire.XLS for Java(免费版)
Jar文件获取及导入:
方法1:通过官网下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)
方法2:通过maven仓库安装导入。具体安装教程参见此网页。
【示例1】合并Excel工作表
原文档截图:
代码示例:
import com.spire.xls.*;
public class MergeWorksheet2 {
public static void main(String[] args) {
//创建workbook实例
Workbook workbook = new Workbook();
//加载Excel文档
workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx");
//获取第一个工作表
Worksheet sheet1 = workbook.getWorksheets().get(0);
//获取第二个工作表
Worksheet sheet2 = workbook.getWorksheets().get(1);
//将工作表2中的数据连同格式复制到工作表1中
sheet2.getAllocatedRange().copy(sheet1.getRange().get(sheet1.getLastRow() +1, 1));
//保存文档
workbook.saveToFile("output/MergeWorksheets.xlsx", ExcelVersion.Version2013);
}
}
合并效果:
【示例2】合并Excel文档
原文档截图:
代码示例:
import com.spire.xls.*;
public class MergeFiles {
public static void main(String[] args) {
//将待合并Excel文档的名称保存至字符串数组
String[] inputFiles = new String[]{"C:\\Users\\Test1\\Desktop\\File1.xlsx","C:\\Users\\Test1\\Desktop\\File2.xlsx"};
//创建一个新的Excel文档
Workbook newBook = new Workbook();
//清除默认的3张工作表
newBook.getWorksheets().clear();
//创建另一个Excel文档
Workbook tempBook = new Workbook();
//遍历数组,依次加载每个Excel文档并将文档中的所有工作表复制到新建的Excel文档中
for (String file : inputFiles)
{
tempBook.loadFromFile(file);
for (Worksheet sheet :(Iterable)tempBook.getWorksheets())
{
newBook.getWorksheets().addCopy(sheet, WorksheetCopyType.
CopyAll);
}
}
//保存
newBook.saveToFile("output/MergeFiles.xlsx", ExcelVersion.Version2013);
}
}
合并效果:
(本文完)