【轉】.NET NPOI操作Excel常用函數


最近因項目接觸了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(newCellRangeAddress(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;

 

轉載自:http://anchises.blog.163.com/blog/static/6432108220129211423620/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM