以上的一些功能,比如文本旋转和自动换行,使用传统的cvs和html法恐怕是无法实现的。随着学习的不断深入,你将越来越意识到使用NPOI生成Excel其实如此简单。
相关范例请参考NPOI 1.2正式版中的SetAlignmentInXls和RotateTextInXls。
NPOI 1.2教程 - 2.2.4 设置单元格边框
作者:Tony Qu
NPOI官方网站:
很多表格中都要使用边框,本节将为你重点讲解NPOI中边框的设置和使用。
边框和其他单元格设置一样也是在HSSFCellStyle上操作的,HSSFCellStyle有2种和边框相关的属性,分别是:
边框相关属性
说明
范例
Border+方向
边框类型
BorderTop, BorderBottom,BorderLeft, BorderRight
方向+BorderColor
边框颜色
TopBorderColor,BottomBorderColor, LeftBorderColor, RightBorderColor
其中边框类型分为以下几种:
边框范例图
对应的静态值
HSSFCellStyle.BORDER_DOTTED
HSSFCellStyle.BORDER_HAIR
HSSFCellStyle.BORDER_DASH_DOT_DOT
HSSFCellStyle.BORDER_DASH_DOT
HSSFCellStyle.BORDER_DASHED
HSSFCellStyle.BORDER_THIN
HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT
HSSFCellStyle.BORDER_SLANTED_DASH_DOT
HSSFCellStyle.BORDER_MEDIUM_DASH_DOT
HSSFCellStyle.BORDER_MEDIUM_DASHED
HSSFCellStyle.BORDER_MEDIUM
HSSFCellStyle.BORDER_THICK
HSSFCellStyle.BORDER_DOUBLE
至于颜色那就很多了,全部在HSSFColor下面,如HSSFColor.GREEN,HSSFColor.RED,都是静态实例,可以直接引用。
下面我们假设我们要把一个单元格的四周边框都设置上,可以用下面的代码:
HSSFSheetsheet = hssfworkbook.CreateSheet("newsheet");
// Create arow and put some cells in it. Rows are 0 based.
HSSFRow row =sheet.CreateRow(1);
// Create acell and put a value in it.
HSSFCell cell= row.CreateCell(1);
// Style thecell with borders all around.
HSSFCellStylestyle = hssfworkbook.CreateCellStyle();
style.BorderBottom=HSSFCellStyle.BORDER_THIN;
style.BorderLeft=HSSFCellStyle.BORDER_THIN;
style.BorderRight=HSSFCellStyle.BORDER_THIN;
style.BorderTop= HSSFCellStyle.BORDER_THIN ;
cell.CellStyle=style;
这段代码使用了最普通的细边框,使得这个单元格看上去像块空心砖头。
注意:这里我们没有设置边框的颜色,但这不会影响最终的效果,因为Excel会用默认的黑色给边框上色。
如果要设置颜色的话,也很简单,如下:
style.BottomBorderColor=HSSFColor.GREEN.index;
以上代码将底部边框设置为绿色,要注意,不是直接把HSSFColor.GREEN赋给XXXXBorderColor属性,而是把index的值赋给它。
相关范例请参考NPOI 1.2正式版中的SetBorderStyleInXls项目。
NPOI 1.2教程 - 2.2.5 设置单元格字体
作者:Tony Qu
NPOI官方网站:
本节我们将继续使用NPOI来设置单元格格式,这一节我们主要讲如何设置“字体”。
在设置字体之前,我们首先要做的就是创建字体对象,这和创建数字格式很相似。
HSSFFont font= hssfworkbook.CreateFont();
这句话会在Excel文件内部创建相应的FontRecord,所以你不用客户因为自己机器上的Excel没有相应的字体设置而导致设置丢失。
字体在设置完成后,我们就可以把它赋给单元格样式,代码如下:
HSSFCellStylestyle1 = hssfworkbook.CreateCellStyle();
style1.SetFont(font);
cell1.CellStyle=style1;
这里的cell1是HSSFCell的一个实例。
好了,下面我们就开始对字体进行设置。
字体名称