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

背景:

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

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

本文用的是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%灰度颜色

3d9fea41ffc00097689a042ad843e5c0.png

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

CellStyle percent = workbook.createCellStyle();//百分比 格式

percent .setAlignment(HorizontalAlignment.CENTER);

percent .setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00%"));

cell.setStyle(percent);

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值