分享

NET NPOI操作Excel常用函数

 昵称20408881 2015-06-21
最近因项目接触了NPOI,感觉还是蛮不错的,网络上的教程普遍版本较老,本篇记录所常用操作,采用NPOI 2.0版本。
推荐:


新建Excel 

HSSFWorkbook hssfworkbook = new HSSFWorkbook();
ISheet sheet1 = hssfworkbook.CreateSheet("sheet1");//建立Sheet1


保存(导出)Excel
FileStream file = new FileStream(@"e:\HSSFWorkbook.xls", FileMode.Create);
hssfworkbook.Write(file);
file.Close();


导入Excel
FileStream file = new FileStream(@"template/Template.xls", FileMode.Open,FileAccess.Read); 
hssfworkbook = new HSSFWorkbook(file);


添加文字
ICell cell1 = HSSFCellUtil.CreateCell(sheet1.CreateRow(0), 0, "A1");//添加A1到A1单元,并对Row0实例化
ICell cell2 = HSSFCellUtil.CreateCell(sheet1.GetRow(0), 1, " B1 ");//添加B1到B1单元,此方法需Row0实例化后才可使用
sheet1.GetRow(0).CreateCell(2).SetCellValue("C1");//添加C1到C1单元,此方法需Row0实例化才可使用
sheet1.CreateRow(1).CreateCell(0).SetCellValue("A2");//添加A2到A2单元,并对Row1实例化

注意添加文字时候对单元格实例化问题,如果在同一单元格,多次实例化后,会覆盖同行的文字。提供了两种添加文字方式,各有优缺点吧。


设置字体格式
IFont font1 = hssfworkbook.CreateFont();
font1.FontName = "宋体";//字体 
font1.FontHeightInPoints = 20;//字号 
font1.Color = HSSFColor.RED.index;//颜色 
font1.Boldweight = 700;//粗体 
font1.IsItalic = true;//斜体 
font1.Underline = (byte)FontUnderlineType.DOUBLE;//添加双下划线

ICellStyle style1 = hssfworkbook.CreateCellStyle();
style1.SetFont(font1);
字体格式绑定在Style中,Style包含了字体格式、颜色、边框等设置,当设置好Style后,赋值给单元格即可。

cell1.CellStyle = style1;
sheet1.GetRow(1).GetCell(0).CellStyle = style1;


合并单元格

sheet1.AddMergedRegion(new CellRangeAddress(2, 3, 0, 1));//合并A3-B4

//CellRangeAddress(起始行,终止行,起始列,终止列);



添加边框

ICellStyle style2 = hssfworkbook.CreateCellStyle();
style2.BorderBottom = NPOI.SS.UserModel.BorderStyle.THIN;
style2.BorderLeft = NPOI.SS.UserModel.BorderStyle.THIN;
style2.BorderRight = NPOI.SS.UserModel.BorderStyle.THIN;
style2.BorderTop = NPOI.SS.UserModel.BorderStyle.THIN;


//添加斜线

style2.BorderDiagonal = BorderDiagonal.BACKWARD;
style2.BorderDiagonalLineStyle = NPOI.SS.UserModel.BorderStyle.THIN;

cell2.CellStyle = style2;

添加边框要对上下左右边框都进行描述。



设置对齐相关设置

ICellStyle style3 = hssfworkbook.CreateCellStyle();
style3.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;//居中
style3.VerticalAlignment = VerticalAlignment.CENTER;//垂直居中
style3.WrapText = true;//自动换行


sheet1.GetRow(0).GetCell(2).CellStyle = style3;


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多