NPOI2.3.0.0 样式设置 XSSFWorkbook C#编写

NPOI我使用的环境是.net framework 4.0,NPOI Dll版本是2.3.0.0
找了很多相关的样式设置发现都不怎么能直接使用,可能我这边新建的XSSFWorkBook的原因吧,这新建这个的好处就是可以支持xlsx的读写。

先新建一个 workbook

IWorkbook workBook = new XSSFWorkbook();

由workbook创建样式对象

ICellStyle cellStyle = workBook.CreateCellStyle();

设置字体
字体对象也是由workbook对象创建的,并且需要调用 cellStyle的SetFont方法才能设置上去

IFont font = workBook.CreateFont();
font.IsBold = true;                                //加粗
font.FontHeightInPoints = 12;                      //设置字体大小
font.FontName = "微软雅黑";                          //设置字体
cellStyle.SetFont(font);                            //向样式里添加字体设置

设置边框

cellStyle.BorderBottom = BorderStyle.Thin;
cellStyle.BorderLeft = BorderStyle.Thin;
cellStyle.BorderRight = BorderStyle.Thin;
cellStyle.BorderTop = BorderStyle.Thin;

设置边框颜色
HSSFColor是 NPOI.HSSF.Util 类定义的常量,直接拿来用便是

style.FillForegroundColor = HSSFColor.Grey25Percent.Index;
style.FillPattern = FillPattern.SolidForeground;

如果要自己定义颜色的话,大概这样就可以了吧

public class ColorName: HSSFColor
{public const short Index = 45;                        //自定义值,但不要是已经定义过的public const string HexString = "FFFF:9999:CCCC";    //颜色值public static readonly byte[] Triplet;             //HSSFColor对象public ColorName();public override short Indexed { get; }public override string GetHexString();public override byte[] GetTriplet();
}

也可以这样设置边框和颜色

cellStyle.BorderBottom = BorderStyle.Thin;
cellStyle.BorderLeft = BorderStyle.Thin;
cellStyle.BorderRight = BorderStyle.Thin;
cellStyle.BorderTop = BorderStyle.Thin;
cellStyle.BottomBorderColor = HSSFColor.White.Index;
cellStyle.TopBorderColor = HSSFColor.White.Index;
cellStyle.LeftBorderColor = HSSFColor.White.Index;
cellStyle.RightBorderColor = HSSFColor.White.Index;

设置文本位置,居中

cellStyle.Alignment = HorizontalAlignment.Center;
cellStyle.VerticalAlignment = VerticalAlignment.Center;

设置列的宽度自动适应内容宽度
就是取出现有列的宽度,再把已有内容的单元格里的内容长度取出来,如果列宽度小于单元格内容长度就把单元格内容长度设置到Sheet就可以了,乘除256是长度换算。

public void AoutColoumWidth(ISheet sheet,int index, ICell cell)
{int coloumnWidth =  sheet.GetColumnWidth(index) / 256;int length = Encoding.Default.GetBytes(cell.ToString()).Length;if (coloumnWidth < length){sheet.SetColumnWidth(index, length * 256);}
}

设置行的高度
行的高度换算要乘20

IRow titleRow = sheet.CreateRow(0);
titleRow.Height = 36 * 20;

设置行的高度
行的高度换算要乘20

IRow titleRow = sheet.CreateRow(0);
titleRow.Height = 36 * 20;

最后要把我们的格式设置到对应的单元格上

ICell totalCell = titleRow .CreateCell(0);
totalCell.SetCellValue(contentItem.Sum);
totalCell.CellStyle = cellStyle;

可以在Sheet上设置默认列

没有找到一下全部设置的属性,请原谅

sheet.SetDefaultColumnStyle(0, cellStyle);

好,完成。

NPOI XSSFWorkbook样式设置相关推荐

  1. winform npoi excel 样式设置

    IWorkbook excel = new HSSFWorkbook();//创建.xls文件ISheet sheet = excel.CreateSheet("sheet1"); ...

  2. placeholder的样式设置

    在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对placeholder进行样式设置了. input::-webkit-input-placeh ...

  3. SVG基本形状及样式设置

    前面的话 图形分为位图和矢量图.位图是基于颜色的描述,是由像素点组成的图像:而矢量图是基于数学矢量的描述,是由几何图元组成的图像,与分辨率无关.可缩放矢量图形,即SVG,是W3C XML的分支语言之一 ...

  4. Qt Creator指定代码样式设置

    Qt Creator指定代码样式设置 指定代码样式设置 指定代码样式设置 Qt Creator使用文件的MIME类型来确定用于打开文件的模式和编辑器.Qt Creator在C ++代码编辑器中以&qu ...

  5. Pandas 表格样式设置指南,看这一篇就够了!

    源自/Python数据之道 最近这些年,Python在数据分析以及人工智能领域是越来越火. 这离不开pandas.numpy.sklearn.TensorFlow.PyTorch等数据科学包,尤其是 ...

  6. 滚动条颜色样式设置 说明

    方案一: css样式详细介绍,网页滚动条样式设置 各条语句含义如下: Crollbar-Face-color:滚动条页面颜色设定: Scrollbar-Highlight-Color:滚动条斜面和左面 ...

  7. css 修改placeholder颜色 , placeholder的样式设置

    在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对placeholder进行样式设置了. ::-webkit-input-placeholder ...

  8. 元素的样式设置 元素类样式的操作 开关灯效果 获取兄弟元素 当前元素的兄弟元素样式

    元素的样式设置 <!DOCTYPE html> <html lang="en"> <head><meta charset="UT ...

  9. 验证用户输入的是不是中文名字 淘宝精品案例 元素样式设置的方式 链式编程

    验证用户输入的是不是中文名字 <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...

最新文章

  1. liunx 上get 不到url参数 java_thinkphp5.0 模板上直接获取url参数
  2. python视频口碑佳_从万众期待到口碑扑街!用Python来分析一下大家对唐探3的评论...
  3. php博客添加live2d,在博客中增加自己的live2d纸片人模型方法
  4. 第一个QGLViewer程序
  5. LTE物理传输资源(2)-频带、信道带宽和频点号EARFCN
  6. SilverLight中的数据绑定
  7. 执行import xlrd,报错ModuleNotFoundError: No module named 'xlrd'
  8. excel 统计字数公式
  9. Java 接口中使用数组缺点的理由
  10. T - SQL(常用语句)
  11. 觅伊的进化,是陌生人社交的未来吗?
  12. Google支付订单真伪的验证方式
  13. 句柄Hwnd 与 窗口Wnd的联系
  14. 什么是Teardrop攻击?
  15. HTTP1.1协议-RFC2616-中文版
  16. Android实现ListView下拉刷新思路以及流程
  17. 各种常用的默认端口号 总结
  18. 马海峰,杨家海,计算机应用,杨家海
  19. PPT在线预览 转换为图片实现方案 Apache POI 实现时踩坑:含嵌入文件ppt转换报错 ArrayStoreException
  20. React + Ts 自定义 日历插件

热门文章

  1. c汇编语言实验,C语言与汇编语言编程实验
  2. vue使用xlsx修改样式导出excel
  3. 太阳系行星运行轨道图,C语言,源代码分享
  4. 《操作系统》模块五:内存管理
  5. ​开机启动界面splashActivity​
  6. vscode插件及快捷键
  7. 基于ssm和mysql的智能停车系统、javaweb实现bs结构的停车场智能车位出入管理
  8. Java8中Collector详解及自定义Collector
  9. 如何将两部手机内容互换_创新交互:两台手机“碰一碰”,就能互相交换好应用...
  10. html a标签禁止跳转,a 标签禁用点击事件跳转