700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > easyExcel自定义背景颜色easyPoi自定义修改表头背景色

easyExcel自定义背景颜色easyPoi自定义修改表头背景色

时间:2020-04-25 14:36:00

相关推荐

easyExcel自定义背景颜色easyPoi自定义修改表头背景色

背景:Excel自定义背景颜色,自定义表头背景颜色

注意点:单元格设置背景颜色失效原因/不生效的原因,通常是因为只设置了setFillForegroundColor参数,这样肯定是不行的,还需要再设置一下 setFillPattern,在setFillPattern中添加FillPatternType.SOLID_FOREGROUND即可

cellStyle.setFillForegroundColor(****)cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);

方法1 - 使用默认的自定义颜色:

cellStyle.setFillForegroundColor(IndexedColors.LIGHT_TURQUOISE.getIndex());cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);

通过获取IndexedColors的不同值来更改颜色(默认颜色对照表在文章底部)

方法2 - 使用rgb方法自定义 :

/*** 标题背景色*/private static final String DEFAULT_BACKGROUND_COLOR = "#9BC2E6";

// 自定义背景色int r = Integer.parseInt((DEFAULT_BACKGROUND_COLOR.substring(1,3)),16);int g = Integer.parseInt((DEFAULT_BACKGROUND_COLOR.substring(3,5)),16);int b = Integer.parseInt((DEFAULT_BACKGROUND_COLOR.substring(5,7)),16);HSSFWorkbook wb = new HSSFWorkbook();HSSFPalette palette = wb.getCustomPalette();HSSFColor hssfColor = palette.findSimilarColor(r, g, b);// 背景色与填充cellStyle.setFillForegroundColor(hssfColor.getIndex());cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);

默认颜色对照表(根据第1列下标对照颜色):

以上则是IndexedColors所支持的所有默认颜色,如果默认颜色没有你想要的,或者产品指定颜色了,那你需要使用第二种rgb的方式去自定义颜色。

扩展:第二种rgb的方式自定义颜色使用的是HSSFColor,HSSFColor跟IndexedColors一样都是本身支持的一些默认颜色,代码过程就是使用16进制根据下标切割 #9BC2E6 ,再进行转换添加到HSSFColor默认颜色中

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。