NPOI导Excel样式设置

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颜色Black8
 Test颜色Brown60
 Test颜色Olive_Green59
 Test颜色Dark_Green58
 Test颜色Dark_Teal56
 Test颜色Dark_Blue18
 Test颜色Indigo62
 Test颜色Grey_80_PERCENT63
 Test颜色Dark_Red16
 Test颜色Orange53
 Test颜色DARK_YELLOW19
 Test颜色Green17
 Test颜色Teal21
 Test颜色Blue12
 Test颜色Blue_Grey54
 Test颜色Grey_50_PERCENT23
 Test颜色Red10
 Test颜色LIGHT_ORANGE52
 Test颜色LIME50
 Test颜色SEA_GREEN57
 Test颜色AQUA49
 Test颜色LIGHT_BLUE48
 Test颜色VIOLET20
 Test颜色GREY_40_PERCENT55
 Test颜色Pink14
 Test颜色Gold51
 Test颜色Yellow13
 Test颜色BRIGHT_GREEN11
 Test颜色TURQUOISE15
 Test颜色SKY_BLUE40
 Test颜色Plum61
 Test颜色GREY_25_PERCENT22
 Test颜色Rose45
 Test颜色Tan47
 Test颜色LIGHT_YELLOW43
 Test颜色LIGHT_GREEN42
 Test颜色LIGHT_TURQUOISE41
 Test颜色PALE_BLUE44
 Test颜色LAVENDER46
 Test颜色White9
 Test颜色CORNFLOWER_BLUE24
 Test颜色LEMON_CHIFFON26
 Test颜色MAROON25
 Test颜色ORCHID28
 Test颜色CORAL29
 Test颜色ROYAL_BLUE30
 Test颜色LIGHT_CORNFLOWER_BLUE31
 Test颜色AUTOMATIC64

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

1
2
3
4
5
6
7
8
9
10
11
//生成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();
           }

  

 

转载于:https://www.cnblogs.com/dxqNet/p/9267123.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值