VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • 单元格对齐相关设置

作者:Tony Qu
NPOI官方网站:http://npoi.codeplex.com/
 
本节将围绕“对齐”选项卡中的设置展开,虽然实际上你会发现该选项卡中的很多设置和对齐没有什么关系。合并单元格已经在2.2.2节讲过了,这里就不提了。
image
首先我们用代码创建必要的单元格,代码如下:
HSSFWorkbook hssfworkbook = new HSSFWorkbook();
HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
HSSFRow row = sheet1.CreateRow(0);
row.CreateCell(0).SetCellValue("Test");
这里我们假设在A0单元格中加入了文本Test。
 
请注意接下来我们要做的所有操作都是在CellStyle的基础上完成的,所以我们创建一个HSSFCellStyle:
HSSFCellStyle style=hssfworkbook.CreateCellStyle();
 
水平对齐
这里用的是HSSFCellStyle.Alignment,默认值自然是常规,即HSSFCellStyle.ALIGN_GENERAL。
如果是左侧对齐就是
style.Alignment = HSSFCellStyle.ALIGN_LEFT;
如果是居中对齐就是
style.Alignment = HSSFCellStyle.ALIGN_CENTER;
如果是右侧对齐就是
style.Alignment = HSSFCellStyle.ALIGN_RIGHT;
如果是跨列举中就是
style.Alignment = HSSFCellStyle.ALIGN_CENTER_SELECTION;
如果是两端对齐就是
style.Alignment = HSSFCellStyle.ALIGN_JUSTIFY;
如果是填充就是
style.Alignment = HSSFCellStyle.ALIGN_FILL;
 
注意:以上选项仅当有足够的宽度时才能产生效果,不设置宽度恐怕看不出区别。
 
垂直对齐
这里用的是HSSFCellStyle.VerticalAlignment,默认值为居中,即HSSFCellStyle.VERTICAL_CENTER
如果是靠上就是
style.VerticalAlignment=HSSFCellStyle.VERTICAL_TOP
如果是居中就是
style.VerticalAlignment=HSSFCellStyle.VERTICAL_CENTER
如果是靠下就是
style.VerticalAlignment=HSSFCellStyle.VERTICAL_BOTTOM
如果是两端对齐就是
style.VerticalAlignment=HSSFCellStyle.VERTICAL_JUSTIFY
注意:以上选项仅当有足够的高度时才能产生效果,不设置高度恐怕看不出区别。
 
自动换行
自动换行翻译成英文其实就是Wrap的意思,所以这里我们应该用WrapText属性,这是一个布尔属性
style.WrapText = true;
效果如下所示:
image
 
文本缩进
image
这是一个不太引人注意的选项,所以这里给张图出来,让大家知道是什么,缩进说白了就是文本前面的空白,我们同样可以用属性来设置,这个属性叫做Indention。
style.Indention = 3;
 
文本旋转
文本方向大家一定在Excel中设置过,上图中就是调整界面,主要参数是度数,那么我们如何在NPOI中设置呢?
style.Rotation=(short)90;
以上代码是把单元格A1中的文本逆时针旋转90度,等同于下图中的设置:
image   
 
请注意,这里的Rotation取值是从-90到90,而不是0-180度。
 
最后别忘了把样式变量style赋给HSSFCellStyle.CellStyle,否则就前功尽弃了,呵呵!
 
以上的一些功能,比如文本旋转和自动换行,使用传统的cvs和html法恐怕是无法实现的。随着学习的不断深入,你将越来越意识到使用NPOI生成Excel其实如此简单。
相关范例请参考NPOI 1.2正式版中的SetAlignmentInXls和RotateTextInXls。


相关教程