ylbtech-杂项-TOOL:NPIO |
NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。
NPOI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。
1. 简介返回顶部 |
使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。
2. 优势返回顶部 |
(一)传统操作Excel遇到的问题:
1、如果是.NET,需要在服务器端装Office,且及时更新它,以防漏洞,还需要设定权限允许.NET访问COM+,如果在导出过程中出问题可能导致服务器宕机。
2、Excel会把只包含数字的列进行类型转换,本来是文本型的,Excel会将其转成数值型的,比如编号000123会变成123。
3、导出时,如果字段内容以“-”或“=”开头,Excel会把它当成公式进行,会报错。
4、Excel会根据Excel文件前8行分析数据类型,如果正好你前8行某一列只是数字,那它会认为该列为数值型,自动将该列转变成类似1.42702E+17格式,日期列变成包含日期和数字的。
(二)使用NPOI的优势
1、您可以完全免费使用该框架
2、包含了大部分EXCEL的特性(单元格样式、数据格式、公式等等)
3、专业的技术支持服务(24*7全天候) (非免费)
4、支持处理的文件格式包括xls, xlsx, docx.
5、采用面向接口的设计架构( 可以查看 NPOI.SS 的命名空间)
6、同时支持文件的导入和导出
7、基于.net 2.0 也支持xlsx 和 docx格式(当然也支持.net 4.0)
8、来自全世界大量成功且真实的测试Cases
9、大量的实例代码
11、你不需要在服务器上安装微软的Office,可以避免版权问题。
12、使用起来比Office PIA的API更加方便,更人性化。
13、你不用去花大力气维护NPOI,NPOI Team会不断更新、改善NPOI,绝对省成本。
14、不仅仅对与Excel可以进行操作,对于doc、ppt文件也可以做对应的操作
NPOI之所以强大,并不是因为它支持导出Excel,而是因为它支持导入Excel,并能“理解”OLE2文档结构,这也是其他一些Excel读写库比较弱的方面。通常,读入并理解结构远比导出来得复杂,因为导入你必须假设一切情况都是可能的,而生成你只要保证满足你自己需求就可以了,如果把导入需求和生成需求比做两个集合,那么生成需求通常都是导入需求的子集,这一规律不仅体现在Excel读写库中,也体现在pdf读写库中,目前市面上大部分的pdf库仅支持生成,不支持导入。
3. 构成返回顶部 |
NPOI 1.2.x主要由POIFS、DDF、HPSF、HSSF、SS、Util六部分组成。
NPOI.POIFS
|
OLE2/ActiveX文档属性读写库
|
NPOI.DDF
|
Microsoft Office Drawing读写库
|
NPOI.HPSF
|
OLE2/ActiveX文档读写库
|
NPOI.HSSF
|
Microsoft Excel BIFF(Excel 97-2003)格式读写库
|
NPOI.SS
|
Excel公用接口及Excel公式计算引擎
|
NPOI.Util
|
基础类库,提供了很多实用功能,可用于其他读写文件格式项目的开发
|
表1 NPOI组成部分
NPOI 1.x的最新版为NPOI 1.2.5,其中包括了以下功能:
1、读写OLE2文档
2、读写DocummentSummaryInformation和SummaryInformation
3、基于LittleEndian的字节读写
4、读写Excel BIFF格式
5、识别并读写Excel BIFF中的常见Record,如RowRecord, StyleRecord, ExtendedFormatRecord
6、支持设置单元格的高、宽、样式等
7、支持调用部分Excel内建函数,比如说sum, countif以及计算符号
8、支持在生成的XLS内嵌入打印设置,比如说横向/纵向打印、缩放、使用的纸张等。
NPOI 2.0主要由SS, HPSF, DDF, HSSF, XWPF, XSSF, OpenXml4Net, OpenXmlFormats组成,具体列表如下:
Assembly名称 | 模块/命名空间 | 说明 |
NPOI.DLL |
NPOI.POIFS
|
OLE2/ActiveX文档属性读写库
|
NPOI.DLL |
NPOI.DDF
|
微软Office Drawing读写库
|
NPOI.DLL |
NPOI.HPSF
|
OLE2/ActiveX文档读写库
|
NPOI.DLL |
NPOI.HSSF
|
微软Excel BIFF(Excel 97-2003, doc)格式读写库
|
NPOI.DLL |
NPOI.SS
|
Excel公用接口及Excel公式计算引擎
|
NPOI.DLL |
NPOI.Util
|
基础类库,提供了很多实用功能,可用于其他读写文件格式项目的开发
|
NPOI.OOXML.DLL | NPOI.XSSF | Excel 2007(xlsx)格式读写库 |
NPOI.OOXML.DLL | NPOI.XWPF | Word 2007(docx)格式读写库 |
NPOI.OpenXml4Net.DLL | NPOI.OpenXml4Net | OpenXml底层zip包读写库 |
NPOI.OpenXmlFormats.DLL | NPOI.OpenXmlFormats | 微软Office OpenXml对象关系库 |
4. 项目近况返回顶部 |
在2013年10月8日,NPOI 2.0 beta 1发布,并已经支持Excel 2007和Word 2007。
系统要求:
VS2012/VS2010,基于.NET 4.0或者.NET 2.0
VS2005/VS2008,基于.NET 2.0 (SP1)
VS2003,基于.NET 1.1 (仅更新到1.2.1版本,之后不再支持.NET 1.1)
medium trust environment in ASP.NET
VS2005/VS2008,基于.NET 2.0 (SP1)
VS2003,基于.NET 1.1 (仅更新到1.2.1版本,之后不再支持.NET 1.1)
medium trust environment in ASP.NET
NPOI作为国人开发的开源项目,文档完善,更新及时,为.NET开发者提供了便利,主要用于生成Excel报表,搜索引擎模块中Excel中的文本提取,批量生成Excel文件,基于Excel文件模板生成新的Excel等多方面。
5. 系统要求返回顶部 |
VS2010 with .NET 4.0 runtime
VS2005 or VS2008 with .NET 2.0 Runtime (SP1)
vs2003 with .NET 1.1
VS2005 or VS2008 with .NET 2.0 Runtime (SP1)
vs2003 with .NET 1.1
Mono
medium trust environment in ASP.NET
medium trust environment in ASP.NET
6. 许可返回顶部 |
NPOI遵循Apache License 2.0许可。
7.返回顶部 |
8.返回顶部 |
9.返回顶部 |
10.返回顶部 |
1、百度百科
2、下载源代码
3、
11.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |