EasyExcel使用: RGB字体,RGB背景颜色,fillForegroundColor颜色对照表

news/2024/7/24 11:36:16 标签: easyexcel

EasyExcel使用: RGB字体,RGB背景颜色,fillForegroundColor颜色对照表

使用EasyExcel导出表格可能会对字体颜色和单元格背景颜色进行自定义的修改。
可以自定义字体颜色或者每个单元格的颜色
要想自定义颜色,需要重写CellWriteHandler接口,实现

 public void afterCellDispose(CellWriteHandlerContext context);(excelExcel3.0.x后才有)

或者

public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) ;

两个方法,但是只能重写其中一个,全部重写的话只会运行第一个。
首先对于字体自定义颜色rgb:

  // 拿到poi的workbook
        Workbook workbook = context.getWriteWorkbookHolder().getWorkbook();
        Cell cell = context.getCell();
        // xlsx格式
        XSSFRichTextString richString = new XSSFRichTextString(cell.getStringCellValue());
        // 创建字体样式
        Font font = workbook.createFont();
        // 设置字体RGB颜色
        byte[] rgb = new byte[]{(byte) 146, (byte) 208, (byte) 80};
        XSSFFont xssfFont = (XSSFFont) font;
        xssfFont.setColor(new XSSFColor(rgb, null));
        //应用样式
        richString.applyFont([开始位置], [结束位置], font);

对于单元格自定义颜色rgb:

// 拿到poi的workbook
Workbook workbook = context.getWriteWorkbookHolder().getWorkbook();
// 这里千万记住 想办法能复用的地方把他缓存起来 一个表格最多创建6W个样式
// 不同单元格尽量传同一个 cellStyle
CellStyle cellStyle = workbook.createCellStyle();
//设置rgb颜色
byte[] rgb = new byte[]{red, green, blue};
XSSFCellStyle xssfCellColorStyle = (XSSFCellStyle) cellStyle;
xssfCellColorStyle.setFillForegroundColor(new XSSFColor(rgb, null));
// 这里要把 WriteCellData的样式清空, 不然后面还有一个拦截器 FillStyleCellWriteHandler 默认会将 WriteCellStyle 设置到
// cell里面去 会导致自己设置的不一样
context.getFirstCellData().setWriteCellStyle(null);

context.getFirstCellData().setWriteCellStyle(null);这一行一定要加!不然会被覆盖掉。

对于要求不太严格的可以直接使用注解EasyExcel注解fillForegroundColor提供的60余种颜色:
颜色对照表如下:

在这里插入图片描述


http://www.niftyadmin.cn/n/5279113.html

相关文章

proto与json的互相转换

proto与json的互相转换 proto使用proto python dict和messagepython message序列化golangmessage序列化message转json proto使用 生成逻辑请参考 https://blog.csdn.net/qq_43645782/article/details/127112663 proto syntax "proto3";message testRequest {stri…

4. 行为模式 - 中介者模式

亦称&#xff1a; 调解人、控制器、Intermediary、Controller、Mediator 意图 中介者模式是一种行为设计模式&#xff0c; 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互&#xff0c; 迫使它们通过一个中介者对象进行合作。 问题 假如你有一个创建…

blender径向渐变材质-着色编辑器

要点&#xff1a; 1、用纹理坐标中的物体输出连接映射中的矢量输入 2、物体选择一个空坐标&#xff0c;将空坐标延z轴上移一段距离 3、空坐标的大小要缩放到和要添加材质的物体大小保持一致

【让云服务器更灵活】iptables转发tcp/udp端口请求

iptables转发tcp/udp端口请求 文章目录 前言一、路由转发涉及点二、转发如何配置本机端口转发到本机其它端口本机端口转发到其它机器 三、固化iptables总结 前言 路由转发是计算机网络中的一种重要概念&#xff0c;特别是在网络设备和系统之间。它涉及到如何处理和传递数据包&…

TrustZone之问答

以下问题有助于测试您的知识。 在Arm架构中&#xff0c;安全状态和物理地址空间分别是什么&#xff1f; 在Arm架构中&#xff0c;安全状态分为安全状态和非安全状态。物理地址空间分为安全物理地址空间和非安全物理地址空间。 在每个异常级别中&#xff0c;是什么确定处理器处于…

2023秋季学期数据库原理重修相关复习总结知识点

使用 ALTER TABLE 命令可以修改表结构&#xff0c;其中包括设置字段的默认值。使用 LIKE 关键字进行模糊查询&#xff0c;通常结合 % 或其他通配符使用。表的关联使用 JOIN 关键字。使用 LIMIT 子句限制查询结果的行数&#xff0c;实现分页效果。使用 DATE() 函数对日期进行格式…

可定制化的企业电子招标采购系统源码

随着企业的快速发展&#xff0c;招采管理逐渐成为企业运营中的重要环节。为了满足公司对内部招采管理提升的要求&#xff0c;建立一个公平、公开、公正的采购环境至关重要。在这个背景下&#xff0c;我们开发了一款电子招标采购软件&#xff0c;以最大限度地控制采购成本&#…

TOGAF—架构(Architecture)项目管理—详细指导意见

本节描述了开发企业架构时要使用的详细项目管理方法。本节的目标受众是已经熟悉 TOGAF 标准并领导架构项目的企业架构师。 本节分为几个小节,这些小节描述了以下方法: 架构 项目启动,包括 ADM 阶段 A 的项目管理活动以及项目管理方法的项目启动和“启动”活动体系结构 项目…