本文由葡萄城技术团队于思否原创并首发。
前言
在进行表单设计时,我们常常要对收集到的信息展开统计分析。比如说,学校会给老师统计课时,医院会给医护人员统计班次等。传统的手工方法要逐个对比数据,之后把计算结果手动填到一个新文件里。然而这种方式不但耗费时间与精力,还很难保证数据结果的准确性。为解决此问题,小编今日要给大家介绍怎样运用Java迅速达成批量工作表的合并。
使用Java实现工作表的快速合并
首先,给大家介绍一下两种复制工作表的可能情况:
把多个文件的工作表复制到同一个文件中。
存在10个文件,每个文件里都有一个工作表,最终的结果是生成一个新文件,这个新文件里面有10个工作表。
截取多个文件工作表内容中一部分需要的,将其复制到同一个工作表里。
有10个文件,每个文件都包含一个工作表,仅需该工作表里A1到D24范围内的数据,最后复制到新文件的一个工作表中。
下面小编会依次为大家介绍两种情况的实现方法,这里以图中的.xlsx文件作为例子 。
1.把多个文件的工作表复制到同一个文件中
首先分别创建两个,接着使用打开.xlsx,获取A1:D24的区域,随后分别复制到对应文件中A1:D24的区域,再复制到对应文件中F1:G24的区域。
//创建workbook
Workbook wb = new Workbook();
//使用workbook打开example.xlsx
wb.open("resources/example.xlsx");
Workbook newWb = new Workbook();
获取A1:D24这个区域,将其分别复制到对应的Excel文件中,复制到该Excel文件的A1:D24区域,还复制到该Excel文件的F1:G24区域。
wb.getActiveSheet().getRange("A1:D24"复制,新工作簿中活动工作表的区域"A1:D24"));
wb.getActiveSheet().getRange("A1:D24").copy(newWb.getActiveSheet().getRange("F1:G24"));
newWb.save("output/mergedSheet.xlsx");
结果如下:
将多个文件里工作表的内容,截取其中一部分需要的,再把这部分内容复制到同一个工作表里。
依然是创建两个,使用打开.xlsx,模拟两次复制到中。
这里使用的是,意思是复制后,位置在对应目标工作表的前面。
//创建workbook
Workbook wb = new Workbook();
wb.open("resources/example.xlsx");
Workbook newWb = new Workbook();
复制之后,其位置处于对应目标工作表的前方 。
你提供的内容似乎不完整,请补充完整后以便我准确改写。0));
wb.getActiveSheet().copyBefore(newWb.getWorksheets().get(0));
newWb.save("output/copySheet.xlsx");
结果如下:
可以看到,在前面,添加了两个工作表。
总结
本文上述所用到的库源自葡萄城的产品,其提供的 API 极为方便易用,可用于复制工作表,复制工作表在数据处理场景中应用广泛 。
工作时间:8:00-18:00
电子邮件
扫码二维码
获取最新动态