失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Poi 设置excel 单元格 颜色;setFillBackgroundColor不起作用; poi 设置单元格 样式为百分比

Poi 设置excel 单元格 颜色;setFillBackgroundColor不起作用; poi 设置单元格 样式为百分比

时间:2020-04-16 00:14:47

相关推荐

Poi 设置excel 单元格 颜色;setFillBackgroundColor不起作用; poi 设置单元格 样式为百分比

背景:

HSSF:HSSF格式的excel,即比较老旧的.xls后缀的excel,如97-版的excel,支持的颜色略少。

XSSF:而XSSF(xlsx后缀)的excel的话(以及更新的版本),设置颜色就方便多了

本文用的是HSSF

核心代码:

CellStyle style = workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.RED.getIndex()); // 是设置前景色不是背景色style.setFillPattern(FillPatternType.SOLID_FOREGROUND);

踩过的坑:

1)用setFillForegroundColor而不是setFillBackgroundColor()

一开始想当然以为要用setFillBackgroundColor这个方法,但是发现在xls后缀里这个方法不太管用,颜色总是盖住了文字。

后来搜了以后发现要用setFillForegroundColor()这个方法。

2)HSSF格式的excel(.xls后缀)能支持的颜色比较少:

即使是用调色板类(这里没介绍),能得到的颜色也只是有限的,而不能通过设置RGB三个值来获得精准的颜色。

(但是XSSF格式的应该就可以设置RGB三个值)我猜测可能HSSF支持的颜色就像枚举类型一样,只支持预先设定好的一些颜色。

生成的效果图:25%灰度颜色

poi 设置单元格 样式为百分比:

CellStyle percent = workbook.createCellStyle();//百分比 格式percent .setAlignment(HorizontalAlignment.CENTER);percent .setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00%"));cell.setStyle(percent);

效果在上面的图里能看到,如果想要百分比+灰色的话,就把两段代码应用在同一个style对象上~

如果觉得《Poi 设置excel 单元格 颜色;setFillBackgroundColor不起作用; poi 设置单元格 样式为百分比》对你有帮助,请点赞、收藏,并留下你的观点哦!

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