POI 合并单元格

article/2025/11/3 16:32:08

1. 合并单元格概述

合并单元格CellRangeAddress就是将几个相邻的单元格合并为一个单元格,即使没有创建过行和单元格,也 可以创建合并单元格,因为单元格信息是单独存储的

    /*** Creates new cell range. base 0* * @param firstRow Index of first row* @param lastRow Index of last row (inclusive), must be equal to or larger than {@code firstRow}* @param firstCol Index of first column* @param lastCol Index of last column (inclusive), must be equal to or larger than {@code firstCol}*/public CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)

这里写图片描述

2. 创建合并单元格

创建合并单元格很简单:

 1. 创建一个合并单元格region2. 将region添加到工作表Sheet中
CellRangeAddress region  = new CellRangeAddress(firstRow, lastRow, firstCol, lastCol);
CellRangeAddress region  = new CellRangeAddress("A1:E10");
sheet.addMergedRegion(region)

3. 合并单元格内容

合并单元格的内容需要通过设置合并区域左上角单元格的内容确定,设置合并区域内其他单元格是不起效的
上图中需要设置A1单元格内容才是设置合并的那远哥的内容

Cell cell = sheet.createRow(0).createCell(0);
cell.setCellValue("合并单元格");

4. 实例

package hssf.sheet.cell;import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellUtil;
import org.apache.poi.ss.util.RegionUtil;
import org.apache.poi.ss.util.WorkbookUtil;/*** 合并单元格* 1.创建一个合并单元格* 2.设置合并单元格内容* 3.设置合并单元格边框样式* */
public class ExportRegionCell {public static void main(String[] args) throws Exception {File file = new File("C:\\Users\\Administrator\\Desktop\\test.xls");if (file.exists()) {file.delete();}BufferedOutputStream out = null;try {out = new BufferedOutputStream(new FileOutputStream("C:\\Users\\Administrator\\Desktop\\test.xls"));exportExcel(out);} finally {out.close();}}private static void exportExcel(BufferedOutputStream out) throws Exception {Workbook workbook = new HSSFWorkbook();
//      Workbook workbook = new XSSFWorkbook();String safeSheetName = WorkbookUtil.createSafeSheetName("合并单元格");Sheet sheet = workbook.createSheet(safeSheetName);// 1.创建一个合并单元格
//      CellRangeAddress region = new CellRangeAddress(0, 9, 0, 4);CellRangeAddress region = CellRangeAddress.valueOf("A1:E10");sheet.addMergedRegion(region);// 2.设置合并单元格内容Cell cell = sheet.createRow(0).createCell(0);cell.setCellValue("合并单元格");// 设置单元格内容水平垂直居中CellUtil.setAlignment(cell, HorizontalAlignment.CENTER);CellUtil.setVerticalAlignment(cell, VerticalAlignment.CENTER);// 3.设置合并单元格边框setBorderStyle(sheet, region);workbook.write(out);}/*** 设置合并单元格边框 - 线条* */private static void setBorderStyle(Sheet sheet, CellRangeAddress region) {// 合并单元格左边框样式RegionUtil.setBorderLeft(BorderStyle.THICK, region, sheet);RegionUtil.setLeftBorderColor(IndexedColors.LIGHT_BLUE.getIndex(), region, sheet);// 合并单元格上边框样式RegionUtil.setBorderTop(BorderStyle.THICK, region, sheet);RegionUtil.setTopBorderColor(IndexedColors.LIGHT_ORANGE.getIndex(), region, sheet);// 合并单元格右边框样式RegionUtil.setBorderRight(BorderStyle.THICK, region, sheet);RegionUtil.setRightBorderColor(IndexedColors.LIGHT_BLUE.getIndex(), region, sheet);// 合并单元格下边框样式RegionUtil.setBorderBottom(BorderStyle.THICK, region, sheet);RegionUtil.setBottomBorderColor(IndexedColors.LIGHT_ORANGE.getIndex(), region, sheet);}
}

截图:
这里写图片描述


http://chatgpt.dhexx.cn/article/5BwoxN29.shtml

相关文章

Java使用POI操作Excel合并单元格

友情链接:Spring Data JPA 动态查询 普通查询 友情链接:利用POI实现动态复杂多级表头 前言 合并单元格语法: 开始行、结束行、开始列、结束列 对应代码:new CellRangeAddress(startRowIndex, rowIndex - 1, i, i); 合并代码…

css动画(旋转)

css动画(旋转) (作者:张米,撰写时间:2019年2月4号) 旋转函数rotate(n)通过指定的角度参数使元素围绕原点旋转。n是角度参数,用于设置参数的大小,参数单位是deg。参数为正…

CSS - 元素旋转动画(360度转圈)

效果图 代码 keyframes rotate {0%{-webkit-transform:rotate(0deg);}25%{-webkit-transform:rotate(90deg);}50%{-webkit-transform:rotate(180deg);}75%{-webkit-transform:rotate(270deg);}100%{-webkit-transform:rotate(360deg);} }使用 /* turn : 定义的动画名称1s : 动…

CSS——正方体360°旋转动画 效果

先看效果&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" c…

css3动画—旋转

css3动画旋转&#xff0c;内圆顺时针旋转&#xff0c;外圆逆时针旋转 1、html <img src"img/about-img07.png" class"circle01 circle-pst"> <img src"img/about-img06.png" class"circle02 circle-pst">2、css .circle…

CSS - 音乐盒 360° 无限循环旋转动画(元素转圈)

前言 由于 Gif 图片过小的问题&#xff0c;显得很不流畅&#xff0c;真实情况下很流畅&#xff0c;放心。 实现一个 360 无限循环旋转的动画&#xff0c;如下图所示&#xff1a; 示例代码 注意&#xff1a;通过 animation 复合属性&#xff0c;可控制动画旋转速度及其他参数。…

css旋转动画定义中心,css动画(transition/transform/animation)

在开发中&#xff0c;一个好的用户操作界面&#xff0c;总会夹杂着一些动画。css用对少的代码&#xff0c;来给用户最佳的体验感&#xff0c;下面我总结了一些css动画属性的使用方法及用例代码供大家参考&#xff0c;在不对的地方&#xff0c;希望大佬直接拍砖评论。 1 transit…

利用css3实现立体旋转动画效果

css3实行一个转动的六边形 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>body,html {width: 100%;height: 100%;}body {perspective: 1000px;}.container {/* 给容器设置一个高宽 */width: 3…

CSS实现旋转风车

CSS实现旋转风车 使用css实现旋转风车主要是运用border和css动画来实现的&#xff0c;效果图如下&#xff1a; 一、制作风车 首先观察风车是由8个相等形状大小的三角形旋转组成的&#xff0c;可以发现都是围绕一个中心点旋转组成的&#xff0c;所以我们可以先用border画出一…

CSS的动画效果-旋转

开发工具与关键技术&#xff1a;css 撰写时间&#xff1a;2020/7/7 这是简陋的小风车 当我们将鼠标移入到该区域式这个小风车就会旋转起来 这是这个小风车的代码 Html&#xff1a; Css&#xff1a; 本人只是个新手&#xff0c;只是将风车放置Ul标签内&#xff0c;设置ul标签的…

Css动画效果旋转图片

这次给大家讲解一个有趣的css动画效果哈&#xff0c;那就是旋转图片成一朵花型。 第一步依旧是把img标签敲出来然后把图片放上去。 2.然后开始敲打css样式和效果&#xff0c;先给个class设置一下样式加个定位&#xff0c;因为动画效果需要个定 位才能有效果显示出来。…

旋转的css动画效果

需要补习动画属性的可以查看这个文章 效果图 css旋转代码 .image {width: 250px;height: 250px;border-radius: 50%;//定义动画名,持续时间,动画状态,以及持续运行animation: rotate 15s infinite linear;//控制暂停和播放animation-play-state: play;}keyframes rotate {form…

CSS3 旋转动画

效果图 用到图片&#xff1a; 实现&#xff1a; <body><div class"wrap"><image class"figure" src"./staitc/images/figure.png" /><imageclass"circle circle-inner"src"./staitc/images/circle-in…

纯css图片自动旋转动画

css能否实现图片自动旋转动画呢&#xff1f;答案当然是肯定的&#xff0c; 首先看下效果&#xff1a; HTML代码 <img src"https://gimg2.baidu.com/image_search/srchttp%3A%2F%2Fimg.yipic.cn%2Fthumb%2Fda6639c9%2F814ac8bc%2Ff0e92a5b%2Fedda1715%2Fbig_da6639c9…

动画css ---无限旋转

前言&#xff1a; 接口返回数据&#xff0c;处理数据后&#xff0c;需要根据状态显示对应的图片 如果是状态为运行中&#xff0c;图片对应的icon图片需要沿中心点旋转起来&#xff08;加一个带有旋转的class类&#xff09; 图片素材 <!DOCTYPE html> <html lang"…

CSS——动画{旋转按钮}

前面我们一直在学习样式&#xff0c;学习布局&#xff0c;什么浮动啊&#xff0c;定位呀&#xff0c;还有弹性盒子&#xff0c;那么今天我们来看一点不一样的——动画&#xff01; 文章目录 前言一、动画是什么&#xff1f;二、动画的属性 1.过渡2.实际应用和代码演示总结 前言…

css实现加载旋转动画

先看效果&#xff1a; 完整代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&q…

CSS基础学习——动画

一、CSS3 2D变形&#xff08;利用Transfrom方法&#xff09; 1、rotate&#xff08;angle&#xff09; 元素顺时针旋转给定的角度。允许负值&#xff0c;元素将逆时针旋转。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8…

深度学习与神经网络

文章目录 引言1. 神经网络1.1 什么是神经网络1.2 神经元1.3 多层神经网络 2. 激活函数2.1 什么是激活函数2.2 激活函数的作用2.3 常用激活函数解析2.4 神经元稀疏 3. 设计神经网络3.1 设计思路3.2 对隐含层的感性认识 4. 深度学习4.1 什么是深度学习4.2 推理和训练4.3 训练的相…

【深度学习】你心目中 idea 最惊艳的深度学习领域论文是哪篇?

科研路上我们往往会读到让自己觉得想法很惊艳的论文&#xff0c;心中对不同的论文也会有一个排名。 我们来看看各路大神是怎么评价的。 论文链接 https://arxiv.org/abs/1410.3916 关于计算机视觉领域&#xff0c;taokongcn分享了几个重要的工作。 1. Fully Convolutional Netw…