[Java]Apache POI 如何合并Excel单元格

2021-02-11 19点热度 0人点赞 0条评论

介绍

在前面的文章,有介绍如何使用 POI 生成 Excel文件以及在 SpringBoot 下生成 Excel 通过 Web 下载,有很多场景下,需要对 Excel 的某些单元格,进行合并的操作。本文将介绍如何使用 POI 合并单元格。

引入依赖

如果是Maven,加入pom.xml:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.0</version>
</dependency>

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.0</version>
</dependency>

如果是Gradle,加入build.gradle

compile "org.apache.poi:poi:4.1.0"
compile "org.apache.poi:poi-ooxml:4.1.0"

演示下如何利用Apache POI来合并单元格

我们使用Sheet.addMergedRegion(new CellRangeAddress())来合并单元格CellRangeAddress用来表示需要合并的多个单元格的位置

注意,合并后的单元格的内容会显示合并前的第一个的单元格内容(也就是左边顶上第一个单元格),其他单元格的内容将被丢弃
Sheet sheet = workbook.createSheet(sheetName);
int firstRow = 0;//需要合并的第一个单元格的行数
int lastRow = 0;//需要合并的最后一个单元格的行数
int firstCol = 0;//需要合并的第一个单元格的列数
int lastCol = 2;//需要合并的最后一个单元格的列数
sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, firstCol, lastCol));
//或者直接这样写(从 A1到C1合并)
sheet.addMergedRegion(CellRangeAddress.valueOf("A1:C1"));

好了,如图合并单元格就做好了

 

Terry

记录开发运维过程中遇到的坑以及解决方案,干货分享

文章评论

*

code