转载请注明出处 http://blog.csdn.net/fujie724
前两篇,我们已经学习了如何用NPOI来创建和编辑Excel,并且已经熟悉了HSSFWorkbook,ISheet,IRow和ICell。
接下来我们把它变得漂亮一点。
ICellStyle——单元格样式
当我们拥有了一个HSSFWorkbook实例之后。我们可以通过下面的方式来创建一个样式变量。
HSSFWorkbook wk = new HSSFWorkbook();//你用来操作的HSSFWorkbook的实例
ICellStyle cellStyle = wk.CreateCellStyle();
这样我们就创建好了一个样式变量。
这个ICellStyle里有些什么属性可以设置呢?
没错,所有你能想到的对于单元格的格式样式的设置都在里面。种类非常多,命名也比较直白,比如:对齐方式,上下左右边框线的颜色和样式,字体等等。
写个例子给大家看看。
ICellStyle cellStyle = wk.CreateCellStyle();
//设置单元格上下左右边框线
cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
//文字水平和垂直对齐方式
cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
//是否换行
//cellStyle.WrapText = true;
//缩小字体填充
cellStyle.ShrinkToFit = true;
大部分的设置都有相应的枚举类型可以选择,比如这个边框样式Thin,实际上就是我们最常见的单线最细的那种边框,你也可以根据需要设置成虚线,点线,双线等等。
设置好了格式变量,就可以把它应用到单元格上去。通过对ICell的CellStyle赋值实现。
ICell Cell = sheet.CreateRow(0).CreateCell(0);
Cell.CellStyle = cellStyle;
Cell.SetCellValue("测试格式效果");
设置格式就是这么简单。
你可能会问了,如果我需要设置一大片的单元格都是这个格式,该不会要一个一个的设置吧?
很悲催的告诉你,没错,目前暂未发现有直接批量设置格式的方法。不过考虑到本身你也需要一个一个去创建Cell,所以顺便赋值上去也不是什么很麻烦的事情。
对于只有少部分不相同的样式,我们可以使用CloneStyleFrom()方法来克隆前一个样式,而只修改需要修改的部分,减少重复代码。
ICellStyle newCellStyle = wk.CreateCellStyle();
newCellStyle.CloneStyleFrom(cellStyle);
newCellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Left;
关于ICellStyle已经讲完,希望大家喜欢。下一篇继续讲解格式设置的其他内容。
转载请注明出处 http://blog.csdn.net/fujie724