前言
自定义背景颜色,不是网上的那几个固定很丑的颜色,支持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 样式调节 😃