Java实现批量合并Excel工作表
前言
在Excel中设计表单时,我们经常需要对收集的信息进行统计分析。例如,学校给老师统计课时,医院给医护人员统计班次等。传统的手工方式需要逐个对比数据,然后将计算结果手动填写到一个新的Excel文件中。但是这种方式不仅费时费力,而且很难确保数据结果的准确性。为了解决这个问题,小编今天要为大家介绍如何使用Java快速实现批量Excel工作表的合并。
使用Java实现工作表的快速合并
首先,给大家介绍一下两种复制工作表的可能情况:
1.把多个文件的工作表复制到同一个文件中。
例如有10个Excel文件,每个文件中有一个工作表,最终结果是生成一个新文件,里面有10个工作表。
3.把多个文件的工作表内容,截取一部分需要的,复制到同一个工作表中。
例如有10个Excel文件,每个文件中有一个工作表,只需要该工作表中A1:D24范围内的数据,最终复制到新文件中的一个工作表中。
下面小编依次为大家介绍两种情况的实现方法(以下图的example.xlsx文件为例子)。
1.把多个文件的工作表复制到同一个文件中
首先分别创建两个workbook,然后使用workbook打开example.xlsx,获取 A1:D24的区域,并且分别复制到对应Excel文件中 A1:D24 和 F1:G24 的区域。
//创建workbook Workbook wb = new Workbook(); //使用workbook打开example.xlsx wb.open("resources/example.xlsx"); Workbook newWb = new Workbook(); //获取 A1:D24的区域,并且分别复制到对应Excel文件中 A1:D24 和 F1:G24 的区域。 wb.getActiveSheet().getRange("A1:D24").copy(newWb.getActiveSheet().getRange("A1:D24")); wb.getActiveSheet().getRange("A1:D24").copy(newWb.getActiveSheet().getRange("F1:G24")); newWb.save("output/mergedSheet.xlsx");
结果如下:
2.把多个文件的工作表内容,截取一部分需要的,复制到同一个工作表中
依然是创建两个workbook,使用workbook打开example.xlsx,模拟两次复制到newWb中。
这里使用的是copyBefore,意思是复制后,位置在对应目标工作表的前面。
//创建workbook Workbook wb = new Workbook(); wb.open("resources/example.xlsx"); Workbook newWb = new Workbook(); //copyBefore:复制后,位置在对应目标工作表的前面。 wb.getActiveSheet().copyBefore(newWb.getWorksheets().get(0)); wb.getActiveSheet().copyBefore(newWb.getWorksheets().get(0)); newWb.save("output/copySheet.xlsx");
结果如下:
可以看到,在Sheet1前面,添加了两个example工作表。
以上就是Java实现批量合并Excel工作表的详细内容,更多关于Java合并Excel工作表的资料请关注脚本之家其它相关文章!
相关文章
使用java + selenium + OpenCV破解网易易盾滑动验证码的示例
这篇文章主要介绍了使用java + selenium + OpenCV破解网易易盾滑动验证码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-02-02IntelliJ IDEA设置显示内存指示器和设置内存大小的方法
这篇文章主要介绍了IntelliJ IDEA设置显示内存指示器和设置内存大小的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-04-04IDEA2020.3.2版本自动注释类和方法注释模板配置步骤详解
这篇文章主要介绍了IDEA2020.3.2版本自动注释类和方法注释模板配置步骤,本文给大家分享了我自己创建过程通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-03-03
最新评论