一、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; //上邊框線
更多: