EasyExcel自定义处理器扩展指定行修改样式包括字体颜色

EasyExcel自定义处理器扩展指定行修改样式包括字体颜色

实现

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.handler.RowWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFColor;import java.util.List;public class CustomRowWriteHandler implements RowWriteHandler {private List<Integer> rowIndexToChange;public CustomRowWriteHandler(List<Integer> rowIndexToChange) {this.rowIndexToChange = rowIndexToChange;}@Overridepublic void afterRowCreate(WriteSheetHolder writeSheetHolder, Row row, Integer relativeRowIndex, Boolean isHead) {//获取信息Sheet sheet = writeSheetHolder.getSheet();Workbook workbook = sheet.getWorkbook();//字体颜色Font font = workbook.createFont();font.setColor(IndexedColors.BLUE.getIndex());//设置样式CellStyle cellStyle = workbook.createCellStyle();cellStyle.setFont(font);for(Integer rowIndex : rowIndexToChange){//过滤表头Row fontRow = sheet.getRow(rowIndex + 1);if(fontRow != null){for (Cell cell : fontRow) {cell.setCellStyle(cellStyle);}}}}}
}// 导出时设置自定义写入处理器
public void exportExcel(List<YourDataClass> data, String fileName, int rowIndexToChange) {EasyExcel.write(fileName, YourDataClass.class).sheet("Sheet1").registerWriteHandler(new CustomRowWriteHandler(rowIndexToChange)).doWrite(data);
}

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

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

相关文章

spring:深入理解@EnableAspectJAutoProxy

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

Airtest 使用指南

Airtest 介绍 准备工作 AirtestIDE 安装与启动: https://airtest.doc.io.netease.com/IDEdocs/getting_started/AirtestIDE_install/ 电脑端的准备工作完成后,对于手机端只需要打开允许USB调试,当首次运行时会提示安装PocoService,同意即可。 界面介绍

Rust 1.79.0发布

Rust 1.79.0发布 &#xff0c;此版本中的一些主要新功能和改进&#xff1a; 内联 const 表达式 内联表达式&#xff08;例如块&#xff09;现在在表达式位置上是稳定的&#xff0c;允许显式输入 const 上下文而无需额外声明。这使得涉及常量的代码更加简洁和可读&#xff0c;尤…

微信登录过程分析

文章目录 1、微信登录过程分析2、身份认证实现方案&#xff1a;3、AOP回顾3.1、AOP底层 1、微信登录过程分析 2、身份认证实现方案&#xff1a; 网关过滤器&#xff1a;gateway网关GlobalFilter自定义过滤器&#xff0c;拦截经过网关的所有请求SpringMVC拦截器&#xff1a;代码…

.NET C# ‘string‘ 类型思考与解析

目录 .NET C# string 类型思考与解析1 string 是值类型还是引用类型&#xff1f;2 为什么字符串要设计成引用类型&#xff0c;且相同字符串会用一个地址的字符串实例&#xff0c;这样解决了什么问题&#xff0c;有什么好处&#xff1f; .NET C# ‘string’ 类型思考与解析 1 ‘…

现货白银实时交易平台的成长阶段 你出在哪个阶段?

很多人喜欢在现货白银平台上做模拟交易&#xff0c;因为他们认为现货白银实时交易平台上交易太痛苦了&#xff0c;不光随时会面临风险&#xff0c;而且还可能让自己出现大的亏损。如果投资者认为痛苦&#xff0c;那笔者觉得投资者不妨将在现货白银实时交易平台上做交易&#xf…

0 简单的图像分类

本文主要针对交通标识图片进行分类&#xff0c;包含62类&#xff0c;这个就是当前科大讯飞比赛&#xff0c;目前准确率在0.94左右&#xff0c;难点如下&#xff1a; 1 类别不均衡&#xff0c;有得种类图片2百多&#xff0c;有个只有10个不到&#xff1b; 2 像素大小不同&…

滑动窗口(LeeCode209题,以JS为例)

什么是滑动窗口&#xff1f; 滑动窗口是算法中一种非常有用的技术&#xff0c;特别是在处理数据序列或数组时。它的核心思想是维护一个固定大小的窗口&#xff0c;这个窗口在数据序列上滑动&#xff0c;以便于在窗口内的元素上进行操作或计算。滑动窗口技术通常用于解决与数据…

对 2024 年美赛选题的建议

对2024年美赛选题的建议包括&#xff1a; 1. 深入探讨当下全球面临的重大问题和挑战&#xff1a;鉴于美赛通常聚焦于全球性议题&#xff0c;如气候变化、可持续发展、数据分析等&#xff0c;参赛学生应关注这些议题&#xff0c;并深入研究相关数据与背景信息&#xff0c;以提出…

趋势Deep Security(Trend Micro Deep Security)安装

趋势Deep Security安装 Deep Security下载地址&#xff1a;https://help.deepsecurity.trendmicro.com/software.html?regsen-hk&prodid1716&_ga2.165737150.1637045249.1717402661-819692893.1716530462 前言 Trend Micro Deep Security是一个提供深度包检查、入侵…

单片机建立自己的库文件(4)

文章目录 前言一、新建自己的外设文件夹1.新建外设文件夹&#xff0c;做项目好项目文件管理2.将之前写的.c .h 文件添加到文件夹中 二、在软件中添加项目 .c文件2.1 编译工程保证没问题2. 修改项目列表下的名称 三、在软件项目中添加 .h文件路径四、实际使用测试总结 前言 提示…

sheng的学习笔记-AI-集成学习(adaboost,bagging,随机森林)

ai目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 目录​​​​​​​ 集成学习 什么是集成学习 集成学习一般结构&#xff1a; 示意图 弱学习器 经典算法 Boosting 什么是boosting 方法图 AdaBoost 算法 AdaBoost示意图 流程解析&#xff1a; 错误分类率error…

太速科技-FMC213V3-基于FMC兼容1.8V IO的Full Camera Link 输入子卡

FMC213V3-基于FMC兼容1.8V IO的Full Camera Link 输入子卡 一、板卡概述 该板卡为了考虑兼容1.8V电平IO&#xff0c;适配Virtex7&#xff0c;Kintex Ultrascale&#xff0c;Virtex ultrasacle FPGA而特制&#xff0c;如果要兼容原来的3.3V 也可以修改硬件参数。板卡支持1路…

快速欧氏聚类与普通欧氏聚类比较

1、前言 文献《FEC: Fast Euclidean Clustering for Point Cloud Segmentation》介绍了一种快速欧氏聚类方法,大概原理可以参考如下图,具体原理可以参考参考文献。 2、时间效率比较:快速欧氏聚类VS普通欧氏聚类 网上搜集的快速欧式聚类,与自己手写的普通欧式聚类进行对比,…

HTTP协议简单介绍

一、HTTP协议是什么 1、HTTP协议是以TCP协议为基础的文本协议。 2、HTTP协议采用请求和响应的模式。 3、HTTP协议可以传输二进制文件、文本文件、图片等资源。 4、HTTP协议支持表单上传&#xff0c;文件上传&#xff0c;文件下载等功能。 二、HTTP协议的格式 (一)请求格式…

SLG火并6月:多强鼎立,增量用户发展成行业新题

SLG赛道进入到6月&#xff0c;《三国&#xff1a;谋定天下》、《野兽领主&#xff1a;新世界》、《无尽冬日》大量新品袭来搅动市场。 在这样的关口&#xff0c;占据SLG半壁江山的灵犀互娱《三国志战略版》先一步刊登出战报&#xff0c;宣布1亿SLG玩家已收归麾下。 但新的挑战…

Linux时间子系统6:NTP原理和Linux NTP校时机制

一、前言 上篇介绍了时间同步的基本概念和常见的时间同步协议NTP、PTP&#xff0c;本篇将详细介绍NTP的原理以及NTP在Linux上如何实现校时。 二、NTP原理介绍 1. 什么是NTP 网络时间协议&#xff08;英语&#xff1a;Network Time Protocol&#xff0c;缩写&#xff1a;NTP&a…

COVINS-G编译注意事项

install_files.sh 修改source devel/setup.bash 为 source devel/setup.zsh cv_bridge 为了防止和本机的noetic的cv_bridge冲突&#xff0c;需要放入一个旧版本的cv_bridge。 先编译好opencv3_catkin&#xff0c;然后添加cv_bridge,也就是下载vision_opencv的melodic分支到cov…

华为数通企业面试笔试实验题

1. 笔试题 1.1 实验拓扑 1.2 实验要求 公司A为小型销售公司,需要实现基本上网功能,蓝色部分为外网线,提供DHCP服务 DnsServer:114.114.114.114 帮助网管排查某一台计算机在某一台交换机的某个端口 2. 操作步骤 配置路由器相关的LAN侧接口IP地址 配置DHCP项,要求有PC1与PC2…

Java StringBuffer 和 StringBuilder 类的比较与应用

Java 中的 StringBuffer 和 StringBuilder 类都用于处理字符串&#xff0c;但它们在性能和线程安全性方面有所不同。StringBuffer 是线程安全的&#xff0c;适合多线程环境下的字符串操作&#xff1b;而 StringBuilder 则是非线程安全的&#xff0c;提供了更高的性能。本文将从…