NPOI使用手册[转]

2. 使用NPOI生成xls文件

2.1 创建基本内容

2.1.1创建Workbook和Sheet

2.1.2创建DocumentSummaryInformation和SummaryInformation

2.1.3创建单元格

2.1.5创建批注

2.1.6创建页眉和页脚

2.2 单元格操作

2.2.1设置格式

2.2.2合并单元格

2.2.3对齐相关设置

2.2.4使用边框

2.2.5字体设置

2.2.6背景和纹理

2.2.7设置宽度和高度

2.3 使用Excel公式

2.3.1基本计算

2.3.2 SUM函数

2.3.3日期函数

2.3.4字符串相关函数

2.3.5 IF函数

2.3.6 CountIf和SumIf函数

2.3.7 Lookup函数

2.3.8随机数函数

2.3.9通过NPOI获得公式的返回值

2.4 创建图形

2.4.1画线

2.4.2画矩形

2.4.3画圆形

2.4.4画Grid

2.4.5插入图片

2.5打印相关设置


2.6 高级功能

2.6.1调整表单显示比例

2.6.2设置密码

2.6.3组合行、列

2.6.4锁定列

2.6.5显示/隐藏网格线

2.6.6设置初始视图的行、列

2.6.7数据有效性

2.6.8生成下拉式菜单

3. 项目实践

3.1基于.xls模板生成Excel文件

3.2生成九九乘法表

3.3生成一张工资单

3.4从xls文件中抽取文本

3.5巧妙使用ExcelChart

3.6导入Excel文件

NPOI 1.2教程 - 1 认识NPOI

本章将介绍NPOI的一些基本信息,包括以下几个部分

·        什么是NPOI

·        版权说明

·        相关资源

·        团队介绍

·        未来展望

·        各Assembly的作用

1.1 什么是NPOI

NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。在本文发布时,POI的最新版本是3.5 beta 6。

NPOI 1.x是基于POI 3.x版本开发的,与poi 3.2对应的版本是NPOI 1.2,目前最新发布的版本是1.2.1,在该版本中仅支持读写Excel文件和Drawing格式,其他文件格式将在以后的版本中得到支持。

1.2 版权说明

NPOI采用的是Apache 2.0许可证(poi也是采用这个许可证),这意味着它可以被用于任何商业或非商业项目,你不用担心因为使用它而必须开放你自己的源代码,所以它对于很多从事业务系统开发的公司来说绝对是很不错的选择。

当然作为一个开源许可证,肯定也是有一些义务的,例如如果你在系统中使用NPOI,你必须保留NPOI中的所有声明信息。对于源代码的任何修改,必须做出明确的标识。

完整的apache 2.0许可证请见

1.3 相关资源

官方网站:

POIFS Browser 1.2

下载地址:?ReleaseId=24305

QQ交流群:  78142590

1.4 团队介绍

Tony Qu来自于中国上海,是这个项目的发起人和开发人员,时区是GMT+8,2008年9月开始了NPOI的开发,负责NPOI所有底层库的开发、测试和bug修复。

个人blog地址为

HüseyinTüfekçilerli来自于土耳其的伊斯坦布尔,也是这个项目的开发人员,时区是GMT+2,2008年11月参与了NPOI的开发,主要负责POIFS Browser 1.0的开发工作。

个人blog地址为

aTao.Xiang,来自中国,2009年8月开始参与该项目,主要参与了NPOI 1.2中文版的撰写工作和推广工作

个人blog地址为

1.5 回顾与展望

目前POI版本中的HWPF(用于Word的读写库)还不是很稳定,并非正式发布版本,且负责HWPF的关键开发人员已经离开,所以NPOI可能考虑自己重新开发HWPF。另外,目前微软正在开发Open XML Format SDK,NPOI可能会放弃对ooxml的支持,当然这取决于用户的需求和Open XML Format SDK的稳定性和速度。从目前而言,NPOI有几大优势

第一,完全基于.NET 2.0,而非.NET 3.0/3.5。

第二,读写速度快(有个国外的兄弟回复说,他原来用ExcelPackage生成用了4-5个小时,现在只需要4-5分钟)

第三,稳定性好(相对于用Office OIA而言,毕竟那东西是基于Automation做的,在Server上跑个Automation的东西,想想都觉得可怕),跑过了将近1000个测试用例(来自于POI的testcase目录)

第四,API简单易用,当然这得感谢POI的设计师们

第五,完美支持Excel 2003格式(据说myxls无法正确读取xls模板,但NPOI可以),以后也许是所有Office 2003格式

希望NPOI把这些优势继续发扬下去,这样NPOI才会更有竞争力。

1.6 NPOI 1.2中各Assembly的作用

NPOI目前有好几个assembly,每个的作用各有不同,开发人员可以按需加载相应的assembly。在这里大概罗列一下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwwpg.html