轻松合并Excel工作表:Java批量操作优化技巧
摘要:本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
前言
在Excel中设计表单时,我们经常需要对收集的信息进行统计分析。例如,学校给老师统计课时,医院给医护人员统计班次等。传统的手工方式需要逐个对比数据,然后将计算结果手动填写到一个新的Excel文件中。但是这种方式不仅费时费力,而且很难确保数据结果的准确性。为了解决这个问题,小编今天要为大家介绍如何使用Java快速实现批量Excel工作表的合并。
使用Java实现工作表的快速合并
首先,给大家介绍一下两种复制工作表的可能情况:
- 把多个文件的工作表复制到同一个文件中。
例如有10个Excel文件,每个文件中有一个工作表,最终结果是生成一个新文件,里面有10个工作表。 - 把多个文件的工作表内容,截取一部分需要的,复制到同一个工作表中。
例如有10个Excel文件,每个文件中有一个工作表,只需要该工作表中A1:D24范围内的数据,最终复制到新文件中的一个工作表中。
下面小编依次为大家介绍两种情况的实现方法(以下图的example.xlsx文件为例子)。

1.把多个文件的工作表复制到同一个文件中
首先分别创建两个workbook,然后使用workbook打开example.xlsx,获取 A1:D24的区域,并且分别复制到对应Excel文件中 A1:D24 和 F1:G24 的区域。
//创建workbookWorkbook wb = new Workbook();//使用workbook打开example.xlsxwb.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,意思是复制后,位置在对应目标工作表的前面。
//创建workbookWorkbook 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工作表。

总结
本文上述所用到的Excel库来自葡萄城的产品GcExcel,GcExcel提供的API对于复制工作表来说,非常地方便易用。复制工作表在数据处理的场景中应用得很多。
除了上面展示的copyBefore,还有copyAfter等其他API。可以参考GcExcel的产品文档了解更多。
扩展链接:
如何在前端系统中使用甘特图
窗口函数大揭秘!轻松计算数据累计占比,玩转数据分析的绝佳利器
探秘移动端BI:发展历程与应用前景解析
相关文章:
轻松合并Excel工作表:Java批量操作优化技巧
摘要:本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 在Excel中设计表单时,我们经常需要对收集的信息进行统计分析。例如&a…...
计算机网络_网络层概述
4.1 网络层概述 4.1.1 一.分组转发和路由选择 网络层的主要任务就是将分组从源主机经过多个网络和多段链路传输到目的主机,可以将该任务划分为分组转发和路由选择两种重要的功能。 注释:A发送到B,从1端口进入. 如何得知是从2还是从3中转发出去呢?--------->这…...
自然语言处理---Transformer机制详解之GPT2模型介绍
1 GPT2的架构 从模型架构上看, GPT2并没有特别新颖的架构, 它和只带有解码器模块的Transformer很像. 所谓语言模型, 作用就是根据已有句子的一部分, 来预测下一个单词会是什么. 现实应用中大家最熟悉的一个语言模型应用, 就是智能手机上的输入法, 它可以根据当前输入的内容智…...
ChatGPT 即将诞生一周年,OpenAI 将有大动作
图片来源:由无界AI生成 下个月就是 ChatGPT 一周年纪念日。OpenAI 正在谋划新的大动作。可以肯定地说,自诞生以来,ChatGPT 就为 OpenAI 提供了不可阻挡的增长动力。 01 营收超预期,OpenAI 缓了一口气 据 The Information 报道&…...
jenkins 原理篇——pipeline流水线 声明式语法详解
大家好,我是蓝胖子,相信大家平时项目中或多或少都有用到jenkins,它的piepeline模式能够对项目的发布流程进行编排,优化部署效率,减少错误的发生,如何去写一个pipeline脚本呢,今天我们就来简单看…...
在ESP32-Arduino开发中添加其它Arduino库
目录 前言 原理说明 操作步骤 下载Bounce 安装Bounce 将下载的文件夹(压缩包需要解压)移动到components/arduino/libraries路径下,并重命名为Bounce2 查看添加库里所有的源文件位置 在arduino的CMakeList.txt里添加库源文件 使用Bounce 前言 乐鑫官方的es…...
CAN总线测试——CAN一致性之物理层
CAN一致性物理层测试项 1.最小通讯电压测试2.最大通讯电压测试3.显性位/隐性位输出电压测试4.信号跳变沿测试5. 地偏移6. 终端电阻 1.最小通讯电压测试 2.最大通讯电压测试 3.显性位/隐性位输出电压测试 4.信号跳变沿测试 5. 地偏移 6. 终端电阻...
macrodata数据集在Python统计建模和计量经济学中的应用
目录 一、数据介绍二、应用三、statsmodels 统计模块四、使用 statsmodels 统计模块分析 macrodata.csv 数据集参考 一、数据介绍 macrodata.csv是一个示例数据集,通常用于统计分析和计量经济学中的教育和训练目的。这个数据集通常包括以下列: year&am…...
【C++进阶(九)】C++多态深度剖析
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:C从入门到精通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学习C 🔝🔝 多态 1. 前言2. 多态的概念以及定义3. 多态的实…...
第二节——Vue 基本介绍
一、MV*的理解 1、概念 在计算机编程领域,MV*(也称为MVC、MVP、MVVM等)是一种用于组织和设计应用程序结构的模式。这些模式旨在实现应用程序的解耦、可维护性和可扩展性。MV代表着Model-View-(表示控制器或视图模型等其他组件&a…...
基于ResNet34的花朵分类
一.数据集准备 新建一个项目文件夹ResNet,并在里面建立data_set文件夹用来保存数据集,在data_set文件夹下创建新文件夹"flower_data",点击链接下载花分类数据集https://storage.googleapis.com/download.tensorflow.org/example_i…...
[计算机提升] 数据及相关概念
1.9 数据及相关概念 1.9.1 数据、信息 在Windows系统中,数据是指事实或信息的集合,可以是数字、文本、图像、声音等形式的内容。数据是计算机系统中处理和操作的基本元素,是信息的表现形式和载体。 与信息相比,数据的范围更广泛…...
第18章 SpringCloud生态(二)
18.11 说说你了解的负载均衡算法 难度:★★ 重点:★★★★ 白话解析 常用的负载均衡算法有: 1、轮询(Round Robin):说白了就是让服务器排好队,一个个轮着来调用;Ribbon默认采用该算法。 优点:实现起来简单; 缺点:服务器性能不一样的情况下,导致能力强的会经常空闲…...
【Android】BRVAH多布局实现
前言 基于3.0.4版本的BRVAH框架实现的 实现方法 1.创建多个不同类型的布局(步骤忽略) 2.创建数据实体类 数据类要实现【MultiItemEntity】接口 class MyMultiItemEntity(//获取布局类型override var itemType: Int,var tractorRes: Int? null,va…...
AWS SAP-C02教程9-节省成本
SAP-C01变成SAP-C02的时候,最大的变化就是没有把成本单独列出一个模块,但是成本依然包含在各个其它模块之中,所以成本还是很重要的。本章将列举一些成本优化方案以及一些成本辅助功能。 目录 1 Cost Allocation Tags2 Trusted Advisor2.1 AWS Support Plans2.2 基本特性2.3…...
[CSP-S 2023] 种树 —— 二分+前缀和
This way 题意: 一开始以为是水题,敲了一个二分贪心检查的代码,20分。发现从根往某个节点x走的时候,一路走来的子树上的节点到已栽树的节点的距离会变短,那么并不能按照初始情况贪心。 于是就想着检查时候用线段树…...
【LeetCode周赛】LeetCode第368场周赛
目录 元素和最小的山形三元组 I元素和最小的山形三元组 II合法分组的最少组数 元素和最小的山形三元组 I 给你一个下标从 0 开始的整数数组 nums 。 如果下标三元组 (i, j, k) 满足下述全部条件,则认为它是一个山形三元组 : i < j < k nums[i] &l…...
【智慧工地源码】基于AI视觉技术赋能智慧工地
伴随着技术的不断发展,信息化手段、移动技术、智能穿戴及工具在工程施工阶段的应用不断提升,智慧工地概念应运而生,庞大的建设规模催生着智慧工地的探索和研发。 建筑施工具有周期长、环境复杂、工序繁杂、人员流动性大等特点,所以…...
云服务器搭建Hadoop分布式
文章目录 1.服务器配置2.Java环境3. 安装Hadoop4. 集群配置5. 编写集群的启动脚本 1.服务器配置 服务器主机名配置115.157.197.82s110核115.157.197.84s210核115.157.197.109s310核115.157.197.31s410核115.157.197.60gracal10核 所有的软件安装在/opt/module下,软…...
2678. 老人的数目
给你一个下标从 0 开始的字符串 details 。details 中每个元素都是一位乘客的信息,信息用长度为 15 的字符串表示,表示方式如下: 前十个字符是乘客的手机号码。 接下来的一个字符是乘客的性别。 接下来两个字符是乘客的年龄。 最后两个字符是…...
Unity项目里用Universal Media Player 2.0.3接海康威视RTSP监控,保姆级配置流程(含VLC测试)
Unity集成海康威视RTSP监控全流程指南:从UMP插件配置到VLC预验证 在工业仿真、智慧园区等Unity应用场景中,实时接入安防监控视频流已成为刚需。本文将手把手演示如何通过Universal Media Player 2.0.3插件,在Unity 2021 LTS版本中稳定接入海康…...
Qwen3智能字幕对齐系统与Dify平台集成实践
Qwen3智能字幕对齐系统与Dify平台集成实践 如何将专业的字幕对齐能力快速转化为可用的AI应用 1. 项目背景与价值 视频内容创作者经常面临一个痛点:人工添加字幕耗时耗力,特别是需要处理大量视频内容时。传统的字幕制作流程需要反复听写、校对、时间轴对…...
终极指南:gh_mirrors/ema/emacs.d的Vim模拟——Evil模式配置详解
终极指南:gh_mirrors/ema/emacs.d的Vim模拟——Evil模式配置详解 【免费下载链接】emacs.d Fast and robust Emacs setup. 项目地址: https://gitcode.com/gh_mirrors/ema/emacs.d 如果你是Vim爱好者但又想体验Emacs的强大功能,那么gh_mirrors/em…...
Python FastAPI 异步请求调度逻辑
Python FastAPI 异步请求调度逻辑解析 在当今高并发的互联网应用中,异步编程已成为提升性能的关键技术。Python的FastAPI框架凭借其原生支持异步请求处理的能力,成为开发高效API的热门选择。本文将深入探讨FastAPI的异步请求调度逻辑,帮助开…...
Fish Speech 1.5开发者案例:集成至微信小程序实现语音播报功能
Fish Speech 1.5开发者案例:集成至微信小程序实现语音播报功能 1. 项目背景与需求 在实际的微信小程序开发中,语音播报功能已经成为提升用户体验的重要特性。无论是新闻阅读、教育学习、还是电商导购场景,高质量的语音合成都能让应用更加生…...
告别重复造轮子:OpenAI Codex高效生成脚本实战指南
告别重复造轮子:OpenAI Codex高效生成脚本实战指南 在开发者的日常工作中,“重复造轮子”是一个高频痛点——无论是简单的自动化部署脚本、繁琐的数据处理逻辑,还是基础的测试用例生成,往往需要花费大量时间编写重复代码,不仅降低开发效率,还容易因手动编码出现疏漏。而…...
保姆级教程:用CBLPRD-330k数据集训练你的第一个车牌识别模型(附ResNet18+CTC实战代码)
从零构建车牌识别模型:CBLPRD-330k数据集实战指南 车牌识别技术作为计算机视觉领域的重要应用,正在智能交通、安防监控等场景中发挥越来越大的作用。对于刚入门的开发者来说,如何利用公开数据集快速搭建一个可用的车牌识别模型,往…...
Harness Engineering(驾驭工程)-深度总结
🧠 Harness Engineering:AI Agent 稳定落地的核心引擎 1. 核心概念解析 定义:在 AI 系统中,除模型本身外,所有决定系统能否稳定交付的组件总和。核心目标:解决 AI Agent 在真实场景中的执行稳定性问题。关键…...
不止于AT指令:用Python脚本自动化管理移远RM500U 5G模块的网络连接与状态监控
不止于AT指令:用Python脚本自动化管理移远RM500U 5G模块的网络连接与状态监控 在工业物联网和边缘计算场景中,5G模块的稳定连接往往是整个系统的生命线。想象一下,当你在偏远地区的智能电表监测站部署了上百台设备,或是需要实时传…...
告别单调!手机动态壁纸设置与自制全攻略,让你的屏幕“动”起来
你是否已经厌倦了手机上那张一成不变的静态壁纸?想不想每次点亮屏幕,都能看到一段生动的视频、一个流光溢彩的动画,让手机瞬间充满个性和活力?其实,设置和制作动态壁纸远比你想象的要简单!今天,…...
