Java实现批量合并Excel工作表

 更新时间:2023年10月23日 09:13:54   作者:葡萄城官网  
这篇文章主要为大家详细介绍了如何使用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工作表的资料请关注脚本之家其它相关文章!

相关文章

  • Java8中常见函数式接口的使用示例详解

    Java8中常见函数式接口的使用示例详解

    在 Java 8 中,函数式接口是一个关键的特性,它们允许将方法作为参数传递或返回类型,本文为大家整理了一些常见的函数式接口的使用,希望对大家有所帮助
    2023-12-12
  • java多线程编程必备volatile与synchronized深入理解

    java多线程编程必备volatile与synchronized深入理解

    这篇文章主要介绍了java多线程编程必备volatile与synchronized的深入理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • SpringBoot自定义动态数据源的流程步骤

    SpringBoot自定义动态数据源的流程步骤

    动态数据源,本质上是把多个数据源存储在一个 Map 中,当需要使用某一个数据源时,使用 key 获取指定数据源进行处理,本文将给大家介绍一下SpringBoot自定义动态数据源的流程步骤,需要的朋友可以参考下
    2024-06-06
  • Spring对事务管理的支持

    Spring对事务管理的支持

    今天小编就为大家分享一篇关于Spring对事务管理的支持,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 关于微服务使用Dubbo设置的端口和server.port的区别

    关于微服务使用Dubbo设置的端口和server.port的区别

    这篇文章主要介绍了关于微服务使用Dubbo设置的端口和server.port的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Spring Boot不同版本Redis设置JedisConnectionFactory详解

    Spring Boot不同版本Redis设置JedisConnectionFactory详解

    本文章向大家介绍Spring Boot不同版本Redis设置JedisConnectionFactory,主要内容包括1.X 版本、2.X 版本、2.、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容
    2023-09-09
  • SpringBoot @RestController注解用法及说明

    SpringBoot @RestController注解用法及说明

    @RestController是Spring Boot中用于构建RESTful Web服务的核心注解,它简化了RESTful服务的开发,该注解结合了@Controller和@ResponseBody的功能,使得控制器类中的所有请求处理方法的返回值会自动序列化为JSON/XML格式并写入HTTP响应体中
    2025-10-10
  • idea如何配置javafxsdk详细教程

    idea如何配置javafxsdk详细教程

    这篇文章主要介绍了idea如何配置javafxsdk,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习火锅工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Maven 依赖冲突调解与版本控制问题记录

    Maven 依赖冲突调解与版本控制问题记录

    这篇文章主要介绍了Maven 依赖冲突调解与版本控制问题记录,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-04-04
  • Java实现多层文件夹压缩功能

    Java实现多层文件夹压缩功能

    这篇文章主要为大家详细介绍了如何利用Java语言进行多层文件夹压缩功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-08-08

最新评论