在之前的教程中,我们已经提到HSSFCellStyle有两个背景颜色属性,一个叫FillBackgroundColor,另一个叫FillForegroundColor,但其实这指的都是背景颜色,那为什么还有ForegroundColor呢?为了能够帮助大家理解,我们举一个实际的例子,下面这个图案是Excel的一个单元格:
线是白色的,背景是红色的。这里的线其实就是下面的Excel界面中的图案:
至于线的颜色则是图案颜色,即白色。
所以以上单元格如果要用NPOI来设置就可以用以下代码完成:
//fill background
HSSFCellStyle style8 = hssfworkbook.CreateCellStyle();
style8.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.WHITE.index;
style8.FillPattern = HSSFCellStyle.SQUARES;
style8.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.RED.index;
sheet1.CreateRow(7).CreateCell(0).CellStyle = style8;
现在是不是清楚一些了,这里的FillPattern就图案样式,所有的枚举值都是HSSFCellStyle的常量;FillForegroundColor就是图案的颜色,而FillBackgroundColor则是背景的颜色,即红色。
下面罗列一下图案样式及其对应的值:
图案样式 | 常量 |
HSSFCellStyle.NO_FILL | |
HSSFCellStyle.ALT_BARS | |
HSSFCellStyle.FINE_DOTS | |
HSSFCellStyle.SPARSE_DOTS | |
HSSFCellStyle.LESS_DOTS | |
HSSFCellStyle.LEAST_DOTS | |
HSSFCellStyle.BRICKS | |
HSSFCellStyle.BIG_SPOTS | |
HSSFCellStyle.THICK_FORWARD_DIAG | |
HSSFCellStyle.THICK_BACKWARD_DIAG | |
HSSFCellStyle.THICK_VERT_BANDS | |
HSSFCellStyle.THICK_HORZ_BANDS | |