如何通过 Java 合并和取消合并 Excel 单元格

news2025/7/16 15:25:26

在整理 Excel 中的数据时,我们不可避免地需要合并和取消合并单元格。同时,如果需要创建跨列或行的标题,我们可以合并 Excel 单元格以在电子表格中轻松完成此操作。 合并单元格是指将两个或多个单元格合并为一个单元格,而取消合并单元格则是将一个单元格拆分为多个单元格。在本文中,我将详细介绍如何以编程方式合并或取消合并 Excel 中的单元格,并附上 Java 代码供大家参考。

  • 在 Java 中合并 Excel 单元格

  • 在 Java 中取消合并 Excel 单元格

1.引入 jar 包

导入方法 1:

手动引入。将 Free Spire.XLS forJava 下载到本地,解压,找到 lib 文件夹下的 Spire.Xls.jar 文件。在 IDEA 中打开如下界面,将本地路径中的 jar 文件引入 Java 程序:

导入方法 2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

<repositories>    <repository>        <id>com.e-iceblue</id>        <name>e-iceblue</name>        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>    </repository></repositories><dependencies>    <dependency>        <groupId>e-iceblue</groupId>        <artifactId>spire.xls.free</artifactId>        <version>5.1.0</version>    </dependency></dependencies>

复制代码

在 Java 中合并单元格

根据以下步骤操作,您可以轻松合并指定范围内的单元格。

  •  创建一个 Workbook 实例。

    使用 Workbook.loadFromFile()方法加载示例 Excel 文档。

    使用 Workbook.getWorksheets().get()方法获取指定的工作表。

    使用 Worksheet.getRange().get()方法获取指定范围。

    使用 XlsRange.merge()方法合并指定范围内的单元格。

    使用 XlsRange.getCellStyle().setHorizontalAlignment() 方法将合并单元格的水平对齐方式设置为 Center。

    使用 XlsRange.getCellStyle().setVerticalAlignment()方法将合并单元格的垂直对齐方式设置为 Center。

    使用 Workbook.saveToFile() 方法保存结果文档。

完整代码

Java

import com.spire.xls.*;
public class MergeCells {    public static void main(String[] args){
        //创建一个Workbook实例        Workbook workbook = new Workbook();
        //加载示例 Excel 文档        workbook.loadFromFile("示例文档.xlsx");
        //获取指定的工作表        Worksheet sheet = workbook.getWorksheets().get(0);
        //按范围合并单元格        sheet.getRange().get("A2:A4").merge();        sheet.getRange().get("A5:A7").merge();        sheet.getRange().get("A8:A10").merge();        sheet.getRange().get("A11:A13").merge();
        //将合并单元格的水平对齐方式设置为居中        sheet.getRange().get("A2").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);        sheet.getRange().get("A5").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);        sheet.getRange().get("A8").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);        sheet.getRange().get("A11").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);
        //将合并单元格的垂直对齐方式设置为居中        sheet.getRange().get("A2").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);        sheet.getRange().get("A5").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);        sheet.getRange().get("A8").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);        sheet.getRange().get("A11").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);

        //保存结果文档        workbook.saveToFile("合并单元格.xlsx", FileFormat.Version2013);    }}

复制代码

效果图

在 Java 中取消合并 Excel 中的单元格

如果您不想合并 Excel 中的单元格,可以按照下面的方法取消合并指定范围内的单元格,详细步骤如下:

  • 创建一个 Workbook 实例。

    使用 Workbook.loadFromFile()方法加载示例 Excel 文档。

    使用 Workbook.getWorksheets().get() 方法获取指定的工作表。

    使用 Worksheet.getRange().get()方法获取指定范围。

    使用 XlsRange.unMerge()方法取消合并指定范围内的单元格。使用 Workbook.saveToFile() 方法保存结果文档。

完整代码

Java

import com.spire.xls.FileFormat;import com.spire.xls.Workbook;import com.spire.xls.Worksheet;
public class UnmergeCells {    public static void main(String[] args){
        //创建一个Workbook实例        Workbook workbook = new Workbook();
        //加载示例 Excel 文档        workbook.loadFromFile("合并单元格.xlsx");
        //获取指定的工作表        Worksheet sheet = workbook.getWorksheets().get(0);
        //取消合并指定范围内的单元格        sheet.getRange().get("A2:A4").unMerge();        sheet.getRange().get("A5:A7").unMerge();
        //保存结果文档        workbook.saveToFile("取消合并单元格.xlsx", FileFormat.Version2013);    }}

复制代码

效果图

——本文完——

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/36238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4.4——数据库和前后端身份认证

目录数据库与身份认证数据库的基本概念什么是数据库常见的数据库及分类传统型数据库的数据组织结构安装并配置 MySQL使用 MySQL Workbench 管理数据库连接数据库了解主界面的组成部分创建数据库创建数据表向表中写入数据使用 SQL 管理数据库在项目中操作 MySQL安装与配置 mysql…

华为机试 - 数大雁

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 一群大雁往南飞&#xff0c;给定一个字符串记录地面上的游客听到的大雁叫声&#xff0c;请给出叫声最少由几只大雁发出。 具体的: 1.大雁发出的完整叫声为”quack“&#xff0c;因为有多只大雁同一时…

怎么还不会进制转换,进来学。

✨进制转换&#xff0c;深度讲解✨特殊的十进制转换&#xff08;整数&#xff09;一、十进制转换为其他进制二、其他进制转换为十进制二进制的特殊转换&#xff08;整数&#xff09;一、二进制转换为其他进制二、其他进制转换为二进制任意进制的转换&#xff08;整数&#xff0…

Java项目:JSP高校新生报到迎新管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 辅导员角色包含以下功能&#xff1a; 辅导员登录,学生留言管理,新生报到管理,宿舍分配管理等功能。 财务管理角色包含以下功能&#xff1a; 财务…

一道Android题目逆向动态调试

题目来源于海淀区网络与信息安全管理员大赛&#xff0c;题目中将加密验证算法打包进.so&#xff0c;在程序中动态调用check。 本题目通过System.loadLibrary(“native-lib”)加载了libnative-lib.so文件&#xff0c;该文件通过jeb可以实现提取 图1 题目关键代码 调试环境选择…

【矩阵论】4.矩阵运算——广义逆——定义性质与特殊矩阵的广义逆

4.3 广义逆 4.3.1 定义 若mn矩阵AAmn与矩阵XXnm满足四个条件①AXAA,②XAXX&#xff0c;③(AX)HAX,④(XA)HXA则X为A的加号逆(广义逆)&#xff0c;记为XA\begin{aligned} &若 m\times n 矩阵AA_{m\times n} 与矩阵 XX_{n\times m} 满足四个条件\\ &①AXAA,\quad ② XAXX…

以太坊:轻松理解EIP-4844

以太坊&#xff1a;轻松理解EIP-4844 以太坊网络在不断发展&#xff0c;多年来已经提出了许多技术提案。其中一个提案是由Vitalik Buterin提出的EIP-4844&#xff0c;它关注的是分片技术。 什么是EIP-4844&#xff0c;它将如何影响以太坊网络及其用户的未来&#xff1f;以下是…

体系结构28_多处理机(2)

对称式共享存储器体系结构 多处理机Cache一致性 **多个处理器共享一个存储器 **当处理器规模较小时&#xff0c;这种机器十分经济 **支持对共享数据和私有数据的Cache缓存 私有数据供一个单独的处理器使用&#xff0c;而共享数据供多个处理器使用 ** 共享数据进入Cache产生了一…

LeetCode 654.最大二叉树 617合并二叉树 700二叉搜索树中的搜索 98验证二叉搜索树

文章目录654最大二叉树c代码实现python 代码实现617合并二叉树c 代码实现python 代码实现700二叉搜索树中的搜索c代码实现python 代码实现98验证二叉搜索树c 代码实现python 代码实现654最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归…

[附源码]java毕业设计在线购物商城

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

[附源码]java毕业设计疫情居家隔离服务系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

阿里云与信通院邀您参与云原生安全用户调研

云原生安全建设已经成为企业云原生平台建设、应用云原生化改造进程中的必备项。在云原生的大势所趋下&#xff0c;云的分布式架构、容器化部署、边界消失等特点也带来了有别于传统硬件安全的模式&#xff1a;镜像漏洞、容器逃逸、租户隔离等安全问题威胁着企业的云原生平台和应…

Unity动态创建Avatar骨骼映射

目录前言1 了解Avatar骨骼映射2 动态创建Avatar骨骼映射2.1 寻找相关APIAvatarBuilder.BuildHumanAvatarDeclarationParametersReturnsDescriptionHumanDescriptionDescriptionProperties2.2 创建Skeleton数据2.3 创建Human映射关系2.4 创建Avatar3 总结前言 为了让单个动画可…

Linux(基于Centos7)(四)

文章目录一、任务目标二、任务资讯三、任务实施3-1.RPM软件包管理3-2.YUM方式安装软件一、任务目标 实施该工单的任务目标如下&#xff1a; 知识目标 1.了解RPM提供的功能。 2.了解YUM相对于RPM所具有的优点。 能力目标 1.能够通过RPM安装及管理软件包。 2.能够通过YUM安装及管…

MCE | ATM 激酶活化变单体后的神奇开挂!

ATM (Ataxia-telangiectasia mutated proteins) 是一种丝氨酸-苏氨酸蛋白激酶&#xff0c;是 DNA 损伤应答 (DDR) 的关键调节因子。ATM 是位名副其实的“指挥官”&#xff0c;在 DNA 双链断裂 (DSB) 中&#xff0c;参与细胞周期检查点维护、DNA 损伤修复和端粒维护等&#xff0…

基于Android的个人健康管理系统

目 录 基于Android的个人健康管理系统 Personal Health Management System Based On Android 1 引言 1 1.1 课题背景 1 1.2 编写目的 1 1.3 关于Android 1 1.4 关于MVC框架 3 2 可行性研究 6 2.1 技术可行性 6 2.2 经济可行性 6 2.3 时间可行性 6 3 需求分析 7 4 总体设计 8 …

栈——算法专项刷题(六)

六、栈 6.1后缀表达式 原题链接 根据 逆波兰表示法&#xff0c;求该后缀表达式的计算结果。 有效的算符包括 、-、*、/ 。每个运算对象可以是整数&#xff0c;也可以是另一个逆波兰表达式。 说明&#xff1a; 整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话…

【kafka】五、kafka工作流程

kafka工作流程 工作流程 kafka中消息是以topic进行分类的&#xff0c;生产者生产消息&#xff0c;消费者消费消息&#xff0c;都是面向topic的。 topic是逻辑上的概念&#xff0c;而partition是物理上的概念&#xff0c;每一个partition对应一个log文件&#xff0c;该log文件…

基建融资与预算软约束(2015年A股大牛市与“流动性堰塞湖”)-中国视角下的宏观经济

基建融资与预算软约束(2015年A股大牛市与“流动性堰塞湖”) – 潘登同学的宏观经济学笔记 文章目录基建融资与预算软约束(2015年A股大牛市与“流动性堰塞湖”) -- 潘登同学的宏观经济学笔记2015年A股大牛市定向宽松的货币政策导向定向宽松的货币政策原因投资项目的预算软约束政…

python基础之循环嵌套

文章目录一、break和continue二、while的循环嵌套知识点print:例题1打印星星&#xff1a;例题2打印九九乘法表一、break和continue break当某一条件满足时直接跳出当前循环&#xff1b; continue当某一条满足时&#xff0c;不执行后续循环重新开始新一轮循环&#xff1b; i1 …