NPOI導Excel樣式設置


一、創建一個Excel

               //創建一個工作簿
                XSSFWorkbook workbook = new XSSFWorkbook();
                //創建一個頁
                ISheet sheet = workbook.CreateSheet("sheet1");
                //創建一行
                IRow row = sheet.CreateRow(0);
                //創建一列
                ICell cell = row.CreateCell(0);

 

二、設置字體

          ICellStyle style = workbook.CreateCellStyle();//創建樣式對象
                IFont font = workbook.CreateFont(); //創建一個字體樣式對象
                font.FontName = "方正舒體"; //和excel里面的字體對應
                font.Color = new HSSFColor.PINK().GetIndex();//顏色參考NPOI的顏色對照表(替換掉PINK())
                font.IsItalic = true; //斜體
                font.FontHeightInPoints = 16;//字體大小
                font.Boldweight = short.MaxValue;//字體加粗
                style.SetFont(font); //將字體樣式賦給樣式對象
cell.CellStyle = style; //把樣式賦給單元格

 三、設置單元格

1、單元格前景色

 ICellStyle style=workbook.CreateCellStyle();
 style.FillForegroundColor = 14;  //具體數字代表的顏色看NPOI顏色對照表
 style.FillPattern = FillPatternType.SOLID_FOREGROUND;

2、單元格寬高

     行高:row.Height = 30 * 20;    //行高為30

     列寬:sheet.SetColumnWidth(3, 13 * 256)   //第4列的列寬為13

3、合並單元格

    單元格合並后,樣式以左上角的單元格為准

    //CellRangeAddress四個參數為:起始行,結束行,起始列,結束列

  sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 10));

4、水平居中

 style.Alignment = HorizontalAlignment.CENTER;

5、設置公式

    不需要寫“=”號

  cell.CellFormula = "公式";

6.邊框

//上下左右

styleFont.BorderTop = NPOI.SS.UserModel.BorderStyle.THIN;    
styleFont.BorderBottom = NPOI.SS.UserModel.BorderStyle.THIN;  
styleFont.BorderLeft = NPOI.SS.UserModel.BorderStyle.THIN;  
styleFont.BorderRight = NPOI.SS.UserModel.BorderStyle.THICK;

 

顏色對照表:

顏色 測試 Class名稱 short
       
  Test顏色 Black 8
  Test顏色 Brown 60
  Test顏色 Olive_Green 59
  Test顏色 Dark_Green 58
  Test顏色 Dark_Teal 56
  Test顏色 Dark_Blue 18
  Test顏色 Indigo 62
  Test顏色 Grey_80_PERCENT 63
  Test顏色 Dark_Red 16
  Test顏色 Orange 53
  Test顏色 DARK_YELLOW 19
  Test顏色 Green 17
  Test顏色 Teal 21
  Test顏色 Blue 12
  Test顏色 Blue_Grey 54
  Test顏色 Grey_50_PERCENT 23
  Test顏色 Red 10
  Test顏色 LIGHT_ORANGE 52
  Test顏色 LIME 50
  Test顏色 SEA_GREEN 57
  Test顏色 AQUA 49
  Test顏色 LIGHT_BLUE 48
  Test顏色 VIOLET 20
  Test顏色 GREY_40_PERCENT 55
  Test顏色 Pink 14
  Test顏色 Gold 51
  Test顏色 Yellow 13
  Test顏色 BRIGHT_GREEN 11
  Test顏色 TURQUOISE 15
  Test顏色 SKY_BLUE 40
  Test顏色 Plum 61
  Test顏色 GREY_25_PERCENT 22
  Test顏色 Rose 45
  Test顏色 Tan 47
  Test顏色 LIGHT_YELLOW 43
  Test顏色 LIGHT_GREEN 42
  Test顏色 LIGHT_TURQUOISE 41
  Test顏色 PALE_BLUE 44
  Test顏色 LAVENDER 46
  Test顏色 White 9
  Test顏色 CORNFLOWER_BLUE 24
  Test顏色 LEMON_CHIFFON 26
  Test顏色 MAROON 25
  Test顏色 ORCHID 28
  Test顏色 CORAL 29
  Test顏色 ROYAL_BLUE 30
  Test顏色 LIGHT_CORNFLOWER_BLUE 31
  Test顏色 AUTOMATIC 64

四、用文件流方式下載NPOI excel

   //生成excel文件流下載
             using (MemoryStream ms =new MemoryStream())
             {
                workbook.write(ms);
                 string fileName = HttpUtility.UrlEncode("test.xlsx");
                 Response.AddHeader("content-Disposition", "attachment;filename=" + fileName);
                 //增加這指定長度防止導出的excel有不可讀取內容。
                 Response.AddHeader("content-Length", ms.ToArray().Length.ToString());
                 Response.BinaryWrite(ms.ToArray());
                 Response.End();
             }

  

 


免責聲明!

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



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