NPOI使用手册[转] (8)

这里的字体名称是通过HSSFFont.FontName进行设置的,至于具体的名称,只要是常用字体都可以,比如说Arial, Verdana等,当然也可以是中文字体名,如宋体、黑体等。不过设置字体名称有个前提,那就是假设打开这个xls文件的客户机上有这种字体,如果没有,Excel将使用默认字体。

下面就是设置字体名称为“宋体”的代码:

font.FontName="宋体";

字号

与字号有关的属性有两个,一个是FontHeight,一个是FontHeightInPoints。区别在于,FontHeight的值是FontHeightInPoints的20倍,通常我们在Excel界面中看到的字号,比如说12,对应的是FontHeightInPoints的值,而FontHeight要产生12号字体的大小,值应该是240。所以通常建议你用FontHeightInPoint属性。

如果要设置字号为12,代码就是

font.FontHeightInPoints= 12;

字体颜色

这里可能会与CellStyle上的ForegroundColor和BackgroundColor产生混淆,其实所有的字体颜色都是在HSSFFont的实例上设置的,CellStyle的ForegroundColor和BackgroundColor分别指背景填充色和填充图案的颜色,和文本颜色无关。

要设置字体颜色,我们可以用HSSFFont.Color属性,颜色可以通过HSSFColor获得,代码如下所示:

font.Color =HSSFColor.RED.index;

这行代码把文本设置为红色。

下划线

通常我们所说的下划线都是单线条的,其实Excel支持好几种下划线,如下所示:

类型

 

对应的值

 

单下划线

 

HSSFFont.U_SINGLE

 

双下划线

 

HSSFFont.U_DOUBLE

 

会计用单下划线

 

HSSFFont.U_SINGLE_ACCOUNTING

 

会计用双下划线

 

HSSFFont.U_DOUBLE_ACCOUNTING

 

无下划线

 

HSSFFont.U_NONE

 

当你要设置下划线时,可以用HSSFFont.Underline属性,这是一个byte类型的值,例如

font.Underline=HSSFFont.U_SINGLE

这行代码就是设置单下划线的代码。

上标下标

设置这东西可以用HSSFFont.TypeOffset属性,值有以下几种:

TypeOffset的值

 

说明

 

HSSFFont.SS_SUPER

 

上标

 

HSSFFont.SS_SUB

 

下标

 

HSSFFont.SS_NONE

 

普通,默认值

 

所以如果你要上标的话,可以用下面的代码:

font.TypeOffset=HSSFFont.SS_SUPER;

删除线

设置这东西可以用HSSFFont.IsStrikeout属性,当为true时,表示有删除线;为false则表示没有删除线。

相关范例请参考NPOI 1.2正式版中的ApplyFontInXls的项目。

NPOI 1.2教程 - 2.2.6设置单元格的背景和图案

作者:Tony Qu

NPOI官方网站:

本节我们将用NPOI来为单元格添加背景和图案。

在之前的教程中,我们已经提到HSSFCellStyle有两个背景颜色属性,一个叫FillBackgroundColor,另一个叫FillForegroundColor,但其实这指的都是背景颜色,那为什么还有ForegroundColor呢?为了能够帮助大家理解,我们举一个实际的例子,下面这个图案是Excel的一个单元格:

线是白色的,背景是红色的。这里的线其实就是下面的Excel界面中的图案:

至于线的颜色则是图案颜色,即白色。

所以以上单元格如果要用NPOI来设置就可以用以下代码完成:

//fillbackground

HSSFCellStylestyle8 = 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

 

通过这张表,你将很容易找到自己需要的样式,不用再去一个一个猜测了。

相关范例请参考NPOI 1.2正式版中的ColorfullMatrixTable和FillBackgroundInXls。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwwpg.html