zoukankan      html  css  js  c++  java
  • 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();
                 }
    

      

  • 相关阅读:
    5、python中的列表
    Linux---配置新服务器的常见操作(CentOS7)
    MapReduce原理篇
    用MR实现Join逻辑的两种方法
    Linux静态库与共享库
    mysql命令查看表结构及注释
    mysql 数据同步到 elastsearch7 数字类型精度丢失
    canal client-adapter 将mysql数据同步到 es elasticsearch 日期时间少8小时问题解决
    如何用redis做活跃用户统计-HyperLoglog
    jvm 虚拟机内存布局
  • 原文地址:https://www.cnblogs.com/wei325/p/4916938.html
Copyright © 2011-2022 走看看