.Net Excel操作之NPOI【操作Excel单元格】富文本,单元格颜色、边框
一、NPOI 操作单元格富文本
//创建工作簿 HSSFWorkbook wk = new HSSFWorkbook(); //XSSFWorkbook wk = new XSSFWorkbook(); //不可用 //创建名称为mySheet的表 ISheet tb = wk.CreateSheet("mySheet"); IRow row = tb.CreateRow(0); ICell cell = row.CreateCell(0); //创建单元格,写入数据 HSSFRichTextString rich = new HSSFRichTextString("中文,测试内容"); IFont font2 = wk.CreateFont(); font2.Color = HSSFColor.OliveGreen.Blue.Index; rich.ApplyFont(0, 2, font2); cell.SetCellValue(rich);
操作结果如下:
二、NPOI操作单元格,边框、边线、边线颜色
使用方案1:
ICellStyle style = null; XSSFWorkbook wk = new XSSFWorkbook(fs); style = wk.CreateCellStyle(); //设置单元格线 style.BorderBottom = BorderStyle.Thin; style.BorderLeft = BorderStyle.Thin; style.BorderTop = BorderStyle.Thin; style.BorderRight = BorderStyle.Thin; //设置单元格线颜色 style.BottomBorderColor = HSSFColor.Black.Index; style.LeftBorderColor = HSSFColor.Black.Index; style.TopBorderColor = HSSFColor.Black.Index; style.RightBorderColor = HSSFColor.Black.Index; ISheet sheet = wk.GetSheetAt(0); //创建单元格 IRow row = sheet.CreateRow(index); getCell(row, 0).SetCellValue(sort); getCell(row, 1).SetCellValue(item.Title); getCell(row, 2).SetCellValue((double)item.PriceCheck); getCell(row, 3).SetCellValue((double)item.PrimeRate); getCell(row, 4).SetCellValue((double)item.PriceSend); getCell(row, 5).SetCellValue(item.Count); getCell(row, 6).SetCellValue((double)(item.PriceSend * item.Count)); getCell(row, 7).SetCellValue(String.Empty); //设置方法 private ICell getCell(IRow row, int index) { ICell cell0 = row.CreateCell(index); cell0.CellStyle = style; return cell0; }
使用方案2
//创建单元格边框 ICell cell0 = row.CreateCell(0); cell0.CellStyle.BorderBottom = BorderStyle.Thin; cell0.CellStyle.BorderLeft = BorderStyle.Thin; cell0.CellStyle.BorderTop = BorderStyle.Thin; cell0.CellStyle.BorderRight = BorderStyle.Thin; //设置单元格线颜色 cell0.CellStyle.BottomBorderColor = HSSFColor.OliveGreen.Black.Index; cell0.CellStyle.LeftBorderColor = HSSFColor.OliveGreen.Black.Index; cell0.CellStyle.TopBorderColor = HSSFColor.OliveGreen.Black.Index; cell0.CellStyle.RightBorderColor = HSSFColor.OliveGreen.Black.Index;
很多表格中都要使用边框,本节将为你重点讲解NPOI中边框的设置和使用。
边框和其他单元格设置一样也是调用ICellStyle接口,ICellStyle有2种和边框相关的属性,分别是:
边框相关属性 | 说明 | 范例 |
Border+方向 | 边框类型 | BorderTop, BorderBottom,BorderLeft, BorderRight |
方向+BorderColor | 边框颜色 | TopBorderColor,BottomBorderColor, LeftBorderColor, RightBorderColor |
其中边框类型分为以下几种:
至于颜色那就很多了,全部在HSSFColor下面,如HSSFColor.GREEN, HSSFColor.RED,都是静态实例,可以直接引用。
下面我们假设我们要把一个单元格的四周边框都设置上,可以用下面的代码:
//创建单元格样式 ICellStyle cellStyle = workbook.CreateCellStyle(); //设置为文本格式,也可以为 text,即 dataFormat.GetFormat("text"); cellStyle.DataFormat = dataFormat.GetFormat("@"); cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; //下边框线 cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; //左边框线 cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; //右边框线 cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; //上边框线
更多: