npoi css,用NPOI给Excel单元格设置样式也可以用CSS啦

衣明志

发表于

2014-01-20 16:00

, 阅读

(17297)

年底了,客户的项目也跟催命似得,其中一个需求是要根据数据分析生成一堆复杂样式的Excel报表。在服务器端生成报表,如果是用COM调用Excel软件生成xls文件是一个很差的想法:

服务器上安装office,估计服务器维护人员会骂死你

ASP.NET通过COM调用Excel进行操作,会造成Excel进程无法关闭,平白无故浪费资源

正版Excel是要购买的哦!

.NET上有不少第三方库可以生成Excel,但个人最喜欢NPOI.这个库其实是从JAVA的POI项目上搬过来的,API已经非常成熟。NPOI国内外的用户都挺多,文档资料也容易找。用NPOI生成xls文件,非常爽,可以用模板也可以从头开始写,性能和稳定性也都非常好,尤其2.0后的版本性能改进很大。但是我们的客户Excel样式实在是太花哨了,各种风格几乎不带重样的,同事仅为样式设定就差点在代码中崩溃,于是我决定让他们爽一下,给他们造个利器——可以象写CSS一样给单元格(Cell)设置各种样式和数据格式,减轻他们的负担提高工作效率,也提升代码可读性。于是经过一整夜的奋斗,打造出了第一个内部试用版,得到同事们的喜好,我很欣慰。

同事使用过程中,我发现了一些小的bug和问题,于是再次改进,并考虑兼容2.0.6,还有提供缩写csskey。经过几次对字体和样式数量限制的碰底和解决,终于觉得可以公开给大家使用了。至少让喜欢css的同学们,可以用相对熟悉和熟练的类似语法设置excel单元格样式。

基本用法就是:

1.首先引用NPOI.CSS的dll

2.在代码中引用NPOI.CSS命名空间

using NPOI.CSS;

3.对ICell对象使用CSS扩展方法设置样式

cell.CSS("color:red;font-weight:bold;font-size:11;font-name:宋体;border-type:thin;")

CSS方法返回的依然是ICell,所以大家可以用流式写法继续对该对象进行设置,或者常用于设置值。

由于采用了一点特殊手段,解决了一些样式管理的问题,所以目前仅支持.NET4的项目,还在用.NET2或者3.5的同学们对不住了 :(

项目源代码目前托管在GitHub上,相关细节大家可以移步去看一下 NPOI.CSS ,有任何问题可以在本文下面的评论中留言探讨,谢谢。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值