在利用hutool根据某列给Excel设置 背景色时,你可能会遇见,设置背景色不生效或者后面填充的背景色会覆盖前面填充的背景色。下面给出一个已经实现了根据某列条件设置某行背景颜色的案例代码。

目录

1、案例测试实体类

2、案例测试主方法

3、案例导出Excel效果展示


1、案例测试实体类

package com.ruoyi.cms.test;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** @author Roc-xb*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SapTaxResultTest {/*** 凭证编号*/private String sapCretNo;/*** 用户名称*/private String sapUserName;/*** 本币金额*/private String sapAmount;/*** 发票号码*/private String sapInvoiceNo;private String resultFlag;}

2、案例测试主方法

package com.ruoyi.cms.test;import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.poi.excel.BigExcelWriter;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import org.apache.poi.ss.usermodel.*;import java.util.List;/*** @author Roc-xb*/
public class DemoTest {/*** 自定义设置单元格样式** @param writer hutool-Excel写入器* @param x      x_坐标* @param y      y_坐标* @param index  背景色*/private static void setCellStyle(ExcelWriter writer, int x, int y, short index) {CellStyle cellStyle = writer.createCellStyle(x, y);// 填充背景色cellStyle.setFillForegroundColor(index);cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);// 解决填充背景色没有边框问题cellStyle.setBorderBottom(BorderStyle.THIN);cellStyle.setBorderTop(BorderStyle.THIN);cellStyle.setBorderRight(BorderStyle.THIN);cellStyle.setBorderLeft(BorderStyle.THIN);}public static void main(String[] args) {// 构造测试数据SapTaxResultTest sapTaxResultTest1 = new SapTaxResultTest("12321432", "发票1", "562.45", "3412354", "1");SapTaxResultTest sapTaxResultTest2 = new SapTaxResultTest("12321432", "发票2", "562.45", "3412354", "2");SapTaxResultTest sapTaxResultTest3 = new SapTaxResultTest("12321432", "发票3", "562.45", "3412354", "1");SapTaxResultTest sapTaxResultTest4 = new SapTaxResultTest("12321432", "发票4", "562.45", "3412354", "1");SapTaxResultTest sapTaxResultTest5 = new SapTaxResultTest("12321432", "发票5", "562.45", "3412354", "2");List<SapTaxResultTest> list = CollUtil.newArrayList(sapTaxResultTest1, sapTaxResultTest2, sapTaxResultTest3, sapTaxResultTest4, sapTaxResultTest5);BigExcelWriter writer = ExcelUtil.getBigWriter("C:/Users/Administrator/Desktop/bzbm/test" + RandomUtil.randomNumbers(2) + ".xlsx", "test表");// 是否写入表头writer.write(list, true);// 获取表格有多少列int rowSize = writer.getColumnCount();// 遍历数据行,设置单元格样式for (int i = 1; i <= list.size(); i++) {Row row = writer.getOrCreateRow(i);// 假设 resultFlag 列的索引为 4String resultFlag = row.getCell(4).getStringCellValue();if ("1".equals(resultFlag)) {// 设置行背景颜色for (int j = 0; j < rowSize; j++) {setCellStyle(writer, j, i, IndexedColors.RED.getIndex());}} else if ("2".equals(resultFlag)) {// 设置行背景颜色for (int j = 0; j < rowSize; j++) {setCellStyle(writer, j, i, IndexedColors.YELLOW.getIndex());}}}// 关闭 writer 以释放内存writer.close();}}

3、案例导出Excel效果展示

Hutool如何给Excel按行设置背景颜色相关推荐

  1. vxe-table 将表格指定行设置背景颜色后,选中行、悬浮行样式失效解决。

    目录 一. 表格悬浮行.选中行高亮 1.效果 2.代码 二. 初始化表格 指定行设置背景颜色 1. 效果 2.代码 3. 问题 三. 解决选中行.悬浮行样式失效 1. 效果 2.代码 一. 表格悬浮行 ...

  2. AndroidStudio设置背景颜色,字体大小,默认显示行号

    一.设置字体大小 1.打开 File–>Settings(快捷键 Ctrl+Alt+S) 打开设置面板,默认为白色的主题,如下图所示: 2.选择"Save as",自定义输入 ...

  3. Excel如何为介于区间的数值设置背景颜色?

    今天小编要和大家分享的是,Excel如何为介于区间的数值设置背景颜色? (方方格子插件) 1.先看动图演示吧 ​ 2.操作之前呢ctrl+A选中所有的数据 ​ 3.然后选择方方格子操作命令按钮 ​ 4 ...

  4. speedoffice(Excel)表格如何设置背景颜色?

    在使用Excel时,我们会输入一些数据或者文字内容,有时候会需要对某些表格进行背景颜色设置,那么Excel表格背景颜色怎么设置呢?大家来一起看看吧. 选中需要设置背景颜色的单元格. 在"主页 ...

  5. Excel 宏代码实现按相同值分组设置背景颜色

    Alt+F11,打开编辑器,按如下代码编写代码: Sub SetGroupBg()Dim i, j, cColors = Array("#CEFFCE", "#D7FFE ...

  6. clion pycharm goland 设置背景颜色

    1.显示行号 File->Settings->Editor->General->Appearance右侧,Show line numbers 2 设置字体大小与行间距 File ...

  7. POI 单元格设置背景颜色失效(背景色设置方式),以及背景颜色生效后单元格边框线消失问题解决

    单元格设置背景颜色失效原因 当只设定 setFillForegroundColor 时是不行的,还需要再设置一下 setFillPattern 即 style.setFillForegroundCol ...

  8. POI单元格合并(合并后边框空白修复)、自动列宽、水平居中、垂直居中、设置背景颜色、设置字体等常见问题

    POI单元格合并.自动列宽.水平居中.垂直居中.设置背景颜色.设置字体等常用方法 POI设置单元格样式 POI设置文字 POI设置边框样式 POI设置文字水平居中.垂直居中 POI设置背景颜色 POI ...

  9. Android 设置背景颜色透明度

    前言 本章是对设计给出的颜色做透明度的处理 原因 一般情况下我们是不需要做处理的,那为什么又需要我们做透明度呢,原因就是咱们的设计小哥哥.小姐姐们没有自己做处理,如果处理了的话,我们直接使用设计标注的 ...

最新文章

  1. [HNOI2012]矿场搭建
  2. python背景图片加载代码_2019.12.05-背景图片设置代码
  3. ef power tools mysql_使用 EF Power Tool Code Frist 生成 Mysql 实体
  4. php裁剪图片白边,php生成缩略图自动填充白边例子
  5. mysql 5.7 刘,深度解析MySQL 5.7之中文全文检索
  6. Oracle 或关闭中国研发中心(CDC):裁员 1600 人
  7. java实现视频格式转换
  8. python独立样本t检验 图_Python-两独立样本资料t检验
  9. 11、异常 异常解决方案
  10. Salesforce WhatsApp 集成
  11. Synchronized相关的面试题
  12. 编程逻辑入门必备2:归纳推理
  13. Android 地图标识标签
  14. hive启动失败 显示:Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time
  15. 图案设计灵感怎么写_服装设计灵感来源怎么写_服装设计理念怎么写
  16. 智慧建筑行业创业机会分析
  17. Axure交互之部件行为
  18. 揭秘肖特基二极管与电源流串联的反应
  19. wegame系统推荐头像_除了wegame,还有没有别的英雄联盟的插件推荐?
  20. 西门子工控不求人---说说官方资源网站(强大到超出您想象)

热门文章

  1. OpenFoam-6 导入并编译一个新湍流模型
  2. 计算机论文致谢词范文500字,论文致谢词范文
  3. 矩阵的行列式的计算-余子式
  4. 入门|一文读懂区块链“谷歌引擎”Covalent API, 无需编程实现跨链技术只需一秒
  5. 鼠标滑轮,滑动加载效果
  6. Big5 = GBK GBK = Big5 GB2312 = GBK GBK = GB2312 互转
  7. python篮球游戏单机下载_NBA 2K20
  8. android gps距离计算器,计算器刷成安卓系统 刷系统千万别找设计师
  9. HTTP状态码分类(常用HTTP状态码和HTTP状态码大全)
  10. iOS UIFont 字体大全