屬於NPOI的用法.

新建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;

 

← 回列表