POI单元格顔色设定

先从单元格顔色设定开始介绍。单元格的顔色有前景色和背景色。

前景色的设定使用「HSSFCellStyle」类的「setFillForegroundColor」方法。

setFillForegroundColor
public void setFillForegroundColor(short bg)
set the foreground fill color 

Parameters:
  bg - color

背景色的设定则使用「HSSFCellStyle」类的「setFillBackgroundColor」方法。

setFillBackgroundColor
public void setFillBackgroundColor(short bg)
set the background fill color. 

Parameters:
  bg - color

两个方法都是通过参数来设定具体什么顔色。该参数类型为short型,在「HSSFColor」类里,准备了各种各样顔色的定义值。

HSSFColor类

HSSFColor类定义如下:

  • java.lang.Object
  • org.apache.poi.hssf.util.HSSFColor
  • public class HSSFColor extends java.lang.Object

而各种顔色又是作为HSSFColor类的子类,定义一览表如下:

HSSFColor.AQUAHSSFColor.BLACK 
HSSFColor.BLUEHSSFColor.BLUE_GREY
HSSFColor.BRIGHT_GREENHSSFColor.BROWN
HSSFColor.CORALHSSFColor.CORNFLOWER_BLUE
HSSFColor.DARK_BLUEHSSFColor.DARK_GREEN
HSSFColor.DARK_REDHSSFColor.DARK_TEAL
HSSFColor.DARK_YELLOWHSSFColor.GOLD
HSSFColor.GREENHSSFColor.GREY_25_PERCENT
HSSFColor.GREY_40_PERCENTHSSFColor.GREY_50_PERCENT
HSSFColor.GREY_80_PERCENTHSSFColor.INDIGO
HSSFColor.LAVENDERHSSFColor.LEMON_CHIFFON
HSSFColor.LIGHT_BLUEHSSFColor.LIGHT_CORNFLOWER_BLUE
HSSFColor.LIGHT_GREENHSSFColor.LIGHT_ORANGE
HSSFColor.LIGHT_TURQUOISEHSSFColor.LIGHT_YELLOW
HSSFColor.LIMEHSSFColor.MAROON
HSSFColor.OLIVE_GREENHSSFColor.ORANGE
HSSFColor.ORCHIDHSSFColor.PALE_BLUE
HSSFColor.PINKHSSFColor.PLUM
HSSFColor.REDHSSFColor.ROSE
HSSFColor.ROYAL_BLUEHSSFColor.SEA_GREEN
HSSFColor.SKY_BLUEHSSFColor.TAN
HSSFColor.TEALHSSFColor.TURQUOISE
HSSFColor.VIOLETHSSFColor.WHITE
HSSFColor.YELLOW 

设定顔色时,用这些子类的静态常量「index」作为参数,使用方法如下:

HSSFWorkbook workbook = new HSSFWorkbook();

HSSFCellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(HSSFColor.LIME.index);
style.setFillBackgroundColor(HSSFColor.GREEN.index);

如果这些顔色还不够你用的话,那么下一节再介绍怎么设定自己想要的顔色。

填充模式

指定填充模式的话,使用「HSSFCellStyle」类的「setFillPattern」方法。

setFillPattern
public void setFillPattern(short fp)
setting to one fills the cell with the foreground color
... No idea about other values 

Parameters:
  fp - fill pattern (set to 1 to fill w/foreground color)

指定的填充模式,在「HSSFCellStyle」类里也有定义,类型为static short型,如下所示:

说明
NO_FILLNo background 没有背景色
SOLID_FOREGROUNDSolidly filled  填实(全部充满)
FINE_DOTSSmall fine dots 小圆点方式
ALT_BARSWide dots
SPARSE_DOTSSparse dots
THICK_HORZ_BANDSThick horizontal bands
THICK_VERT_BANDSThick vertical bands
THICK_BACKWARD_DIAGThick backward facing diagonals
THICK_FORWARD_DIAGThick forward facing diagonals
BIG_SPOTSLarge spots
BRICKSBrick-like layout
THIN_HORZ_BANDSThin horizontal bands
THIN_VERT_BANDSThin vertical bands
THIN_BACKWARD_DIAGThin backward diagonal
THIN_FORWARD_DIAGThin forward diagonal
SQUARESSquares
DIAMONDSDiamonds

实际的使用方法如下:

HSSFWorkbook workbook = new HSSFWorkbook();

HSSFCellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(HSSFColor.LIME.index);
style.setFillBackgroundColor(HSSFColor.GREEN.index);

style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值