NPOI

1简介

NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。
使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。 NPOI是构建在 POI 3.x版本之上的,它可以在没有安装 Office的情况下对 Word/Excel文档进行读写操作。 [1]

2优势

(一)传统操作 Excel遇到的问题:
1、如果是 .NET,需要在服务器端装 Office,且及时更新它,以防漏洞,还需要设定权限允许 .NET访问 COM+,如果在导出过程中出问题可能导致服务器宕机。
2、 Excel会把只包含数字的列进行类型转换,本来是文本型的, Excel会将其转成数值型的,比如编号000123会变成123。
3、导出时,如果字段内容以“-”或“=”开头,Excel会把它当成公式进行,会报错。
4、 Excel会根据 Excel文件前8行分析数据类型,如果正好你前8行某一列只是数字,那它会认为该列为数值型,自动将该列转变成类似1.42702 E+17格式,日期列变成包含日期和数字的。
(二)使用 NPOI的优势
1、你不需要在服务器上安装微软的 Office,可以避免版权问题。
2、使用起来比 Office PIAAPI更加方便,更人性化。
3、你不用去花大力气维护 NPOINPOI Team会不断更新、改善 NPOI,绝对省成本。
NPOI之所以强大,并不是因为它支持导出 Excel,而是因为它支持导入 Excel,并能“理解” OLE2文档结构,这也是其他一些Excel读写库比较弱的方面。通常,读入并理解结构远比导出来得复杂,因为导入你必须假设一切情况都是可能的,而生成你只要保证满足你自己需求就可以了,如果把导入需求和生成需求比做两个集合,那么生成需求通常都是导入需求的子集,这一规律不仅体现在 Excel读写库中,也体现在 pdf读写库中,目前市面上大部分的 pdf库仅支持生成,不支持导入。

3构成

NPOI目前主要由 POIFS、DDF、HPSF、HSSF、SS、Util六部分组成。
NPOI.POIFS
OLE2 Document File System Library
NPOI.DDF
Microsoft Office Drawing format Library
NPOI.HPSF
OLE2 Propertyset library
NPOI.HSSF
Microsoft Excel BIFF library
NPOI.SS
Formula Evaluation library
NPOI.Util
基础类库,提供了很多实用功能,可用于其他读写文件格式项目的开发
表1 NPOI组成部分
目前 NPOI的最新版是 NPOI 1.2.2,其中包括了以下功能:
1、读写 OLE2文档
2、读写 DocummentSummaryInformationSummaryInformation
3、基于 LittleEndian的字节读写
4、读写 Excel BIFF格式
5、识别并读写 Excel BIFF中的常见 Record,如RowRecord, StyleRecord, ExtendedFormatRecord
6、支持设置单元格的高、宽、样式等
7、支持调用部分 Excel内建函数,比如说 sum, countif以及计算符号
8、支持在生成的 XLS内嵌入打印设置,比如说横向/纵向打印、缩放、使用的纸张等。

4最新近况:

在2013.10.8日,POI 2.0 beta 1发布,它已经支持Excel 2007 and Word 2007了。
系统要求:
VS2010 with .NET 4.0 runtime
  VS2005 or VS2008 with .NET 2.0 Runtime (SP1)
  VS2003 with .NET 1.1
  medium trust environment in ASP.NET
NPOI作为国人开发的开源项目,文档完善,更新及时,为. NET开发者提供了便利,主要用于生成 Excel报表,搜索引擎模块中 Excel中的文本提取,批量生成 Excel文件,基于 Excel文件模板生成新的 Excel等多方面。
 
官方博客
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值