先从单元格顔色设定开始介绍。单元格的顔色有前景色和背景色。
前景色的设定使用「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.AQUA | HSSFColor.BLACK |
HSSFColor.BLUE | HSSFColor.BLUE_GREY |
HSSFColor.BRIGHT_GREEN | HSSFColor.BROWN |
HSSFColor.CORAL | HSSFColor.CORNFLOWER_BLUE |
HSSFColor.DARK_BLUE | HSSFColor.DARK_GREEN |
HSSFColor.DARK_RED | HSSFColor.DARK_TEAL |
HSSFColor.DARK_YELLOW | HSSFColor.GOLD |
HSSFColor.GREEN | HSSFColor.GREY_25_PERCENT |
HSSFColor.GREY_40_PERCENT | HSSFColor.GREY_50_PERCENT |
HSSFColor.GREY_80_PERCENT | HSSFColor.INDIGO |
HSSFColor.LAVENDER | HSSFColor.LEMON_CHIFFON |
HSSFColor.LIGHT_BLUE | HSSFColor.LIGHT_CORNFLOWER_BLUE |
HSSFColor.LIGHT_GREEN | HSSFColor.LIGHT_ORANGE |
HSSFColor.LIGHT_TURQUOISE | HSSFColor.LIGHT_YELLOW |
HSSFColor.LIME | HSSFColor.MAROON |
HSSFColor.OLIVE_GREEN | HSSFColor.ORANGE |
HSSFColor.ORCHID | HSSFColor.PALE_BLUE |
HSSFColor.PINK | HSSFColor.PLUM |
HSSFColor.RED | HSSFColor.ROSE |
HSSFColor.ROYAL_BLUE | HSSFColor.SEA_GREEN |
HSSFColor.SKY_BLUE | HSSFColor.TAN |
HSSFColor.TEAL | HSSFColor.TURQUOISE |
HSSFColor.VIOLET | HSSFColor.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_FILL | No background 没有背景色 |
SOLID_FOREGROUND | Solidly filled 填实(全部充满) |
FINE_DOTS | Small fine dots 小圆点方式 |
ALT_BARS | Wide dots |
SPARSE_DOTS | Sparse dots |
THICK_HORZ_BANDS | Thick horizontal bands |
THICK_VERT_BANDS | Thick vertical bands |
THICK_BACKWARD_DIAG | Thick backward facing diagonals |
THICK_FORWARD_DIAG | Thick forward facing diagonals |
BIG_SPOTS | Large spots |
BRICKS | Brick-like layout |
THIN_HORZ_BANDS | Thin horizontal bands |
THIN_VERT_BANDS | Thin vertical bands |
THIN_BACKWARD_DIAG | Thin backward diagonal |
THIN_FORWARD_DIAG | Thin forward diagonal |
SQUARES | Squares |
DIAMONDS | Diamonds |
实际的使用方法如下:
HSSFWorkbook workbook = new HSSFWorkbook(); HSSFCellStyle style = workbook.createCellStyle(); style.setFillForegroundColor(HSSFColor.LIME.index); style.setFillBackgroundColor(HSSFColor.GREEN.index); style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);