NPOI导Excel样式设置

https://www.cnblogs.com/wei325/p/4916938.html

  • 一、创建一个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;

  • 四、用文件流方式下载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(); }

posted @   乌卡拉卡  阅读(456)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示