本节我们将用NPOI来为单元格添加背景和图案。
在之前的教程中,我们已经提到HSSFCellStyle有两个背景颜色属性,一个叫FillBackgroundColor,另一个叫FillForegroundColor,但其实这指的都是背景颜色,那为什么还有ForegroundColor呢?为了能够帮助大家理解,我们举一个实际的例子,下面这个图案是Excel的一个单元格:
线是白色的,背景是红色的。这里的线其实就是下面的Excel界面中的图案:
至于线的颜色则是图案颜色,即白色。
所以以上单元格如果要用NPOI来设置就可以用以下代码完成:
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 |
| HSSFCellStyle.THIN_HORZ_BANDS |
| HSSFCellStyle.THIN_VERT_BANDS |
| HSSFCellStyle.THIN_BACKWARD_DIAG |
| HSSFCellStyle.THIN_FORWARD_DIAG |
| HSSFCellStyle.SQUARES |
| HSSFCellStyle.DIAMONDS |
通过这张表,你将很容易找到自己需要的样式,不用再去一个一个猜测了。