.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

其中邊框類型分為以下幾種:

邊框范例圖 對應的靜態值
image CellBorderType.DOTTED
image CellBorderType.HAIR
image CellBorderType.DASH_DOT_DOT
image CellBorderType.DASH_DOT
image CellBorderType.DASHED
image CellBorderType.THIN
image CellBorderType.MEDIUM_DASH_DOT_DOT
image CellBorderType.SLANTED_DASH_DOT
image CellBorderType.MEDIUM_DASH_DOT
image CellBorderType.MEDIUM_DASHED
image CellBorderType.MEDIUM
image CellBorderType.THICK
image CellBorderType.DOUBLE

 

至於顏色那就很多了,全部在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;       //上邊框線
復制代碼

 

更多:

.Net Excel操作之NPOI,操作Excel單元格自動換行

.Net Core NOPI操作word(二) 表格操作


免責聲明!

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



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