栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

poi 自定义颜色(poi设置单元格背景颜色)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poi 自定义颜色(poi设置单元格背景颜色)

前言

自定义背景颜色,不是网上的那几个固定很丑的颜色,支持RGB
看我这篇就行了 不用走弯路

解决

废话不多说 先说自定义 再说固定的那种颜色

设置RGB
//注意不要getIndex 得到的short 值并不能设置成功颜色
//short fontColor1 = new XSSFColor(new java.awt.Color(0, 0, 0)).getIndex();
XSSFColor xssfColor= new XSSFColor(new java.awt.Color(247, 0, 0));
//设置背景色
styleTemp.setFillForegroundColor(xssfColor);
styleTemp.setFillPattern(FillPatternType.SOLID_FOREGROUND);

注意:

    Color(0, 0, 0) 三个参数就是RGB颜色new java.awt 必须是这个类,POI自带的不生效字体颜色用这个无效,还得用自带的 HSSFColor.HSSFColorPredefined.WHITE.getIndex()附带工具:HTML网页在线拾色器附带工具:桌面点击拾色器

只要用了,IDEA就会显示这个颜色

导出样式

原始操作

这种是固定的

     //设置背景色
      cellStyle.setFillForegroundColor(index);
      cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);

可以看这个链接 他能做到的颜色 很局限,也不好看
cell设置背景颜色为啥不起作用

拓展 HSSFPalette 调色板

我用的XSSFWorkbook并没有下边这个方法

HSSFPalette palette = workbook.getCustomPalette();
  palette.setColorAtIndex(HSSFColor.BLACK.index,(byte)color[0], (byte)color[1], (byte)colo

参考文章:POI中怎么使用自定义字体颜色
他这个有错误,byte类型127最大,颜色最大值255,用时候注意
注:工作簿创建有要求

      //用多态方式创建的工作簿没有下列方法
        Workbook wb1 = new HSSFWorkbook();
        //必须这样创建 才可以调用调色板
        HSSFWorkbook wb2 = new HSSFWorkbook();
        wb2.getCustomPalette();
拓展2

关于POI下载其他的样式调节方式可以看我的新博客POI 样式调节 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773408.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号