没有合适的资源?快使用搜索试试~ 我知道了~
首页NPOI使用手册.doc
NPOI使用手册.doc
需积分: 50 371 浏览量
更新于2023-05-28
评论 1
收藏 2.57MB DOC 举报
NPOI采用的是Apache 2.0许可证(poi也是采用这个许可证),这意味着它可以被用于任何商业或非商业项目,你不用担心因为使用它而必须开放你自己的源代码,所以它对于很多从事业务系统开发的公司来说绝对是很不错的选择。
资源详情
资源评论
资源推荐

NOPI 使用手册
1 认识 NPOI........................................................................................................................................2
1.1 什么是 NPOI.........................................................................................................................2
1.2 版权说明...............................................................................................................................2
1.3 相关资源...............................................................................................................................3
1.4 团队介绍...............................................................................................................................3
1.5 回顾与展望...........................................................................................................................3
1.6 NPOI 1.2 中各 Assembly 的作用.........................................................................................4
2. 使用 NPOI 生成 xls 文件................................................................................................................4
2.1 创建基本内容.......................................................................................................................4
2.1.1 创建 Workbook 和 Sheet............................................................................................4
2.1.2 创建 DocumentSummaryInformation 和 SummaryInformation...............................6
2.1.3 创建单元格................................................................................................................9
2.1.4 创建批注..................................................................................................................10
2.1.5 创建页眉和页脚......................................................................................................12
2.2 单元格操作.........................................................................................................................14
2.2.1 设置单元格格式......................................................................................................14
2.2.2 单元格合并..............................................................................................................17
2.2.3 单元格对齐相关设置..............................................................................................18
2.2.4 设置单元格边框......................................................................................................22
2.2.5 设置单元格字体......................................................................................................23
2.2.6 设置单元格的背景和图案......................................................................................26
2.2.7 设置单元格的宽度和高度......................................................................................28
2.3 使用 Excel 公式..................................................................................................................29
2.3.1 用 NPOI 操作 EXCEL--基本计算.....................................................................29
2.3.2 用 NPOI 操作 EXCEL--SUM 函数...................................................................30
2.3.3 用 NPOI 操作 EXCEL--日期函数.....................................................................32
2.3.4 用 NPOI 操作 EXCEL--字符串函数.................................................................36
2.3.5 用 NPOI 操作 EXCEL--If 函数.........................................................................40
2.3.6 用 NPOI 操作 EXCEL--COUNTIF 和 SUMIF 函数.........................................41
2.3.7 用 NPOI 操作 EXCEL--LOOKUP 函数............................................................43
2.3.8 用 NPOI 操作 EXCEL--随机数函数.................................................................45
2.3.9 用 NPOI 操作 EXCEL--通过 NPOI 获得公式的返回值.................................46
2.4 创建图形.............................................................................................................................47
2.4.1 用 NPOI 操作 EXCEL--画线.............................................................................47
2.4.2 用 NPOI 操作 EXCEL--画矩形.........................................................................48
2.4.3 用 NPOI 操作 EXCEL--画圆形.........................................................................49
2.4.4 用 NPOI 操作 EXCEL--画 Grid.........................................................................50
2.4.5 用 NPOI 操作 EXCEL--插入图片.....................................................................52

2.5 打印相关设置.....................................................................................................................53
2.6 高级功能.............................................................................................................................58
2.6.1 用 NPOI 操作 EXCEL--调整表单显示比例.....................................................59
2.6.2 用 NPOI 操作 EXCEL--设置密码.....................................................................60
2.6.3 组合行、列..............................................................................................................62
2.6.4 锁定列......................................................................................................................64
2.6.5 显示/隐藏 Excel 网格线..........................................................................................66
2.6.6 用 NPOI 操作 EXCEL--设置初始视图的行、列.............................................67
2.6.7 用 NPOI 操作 EXCEL--数据有效性.................................................................70
2.6.8 用 NPOI 操作 EXCEL--生成下拉列表.............................................................72
3. 项目实践.......................................................................................................................................75
3.1 基于.xls 模板生成 Excel 文件...........................................................................................75
3.2 生成九九乘法表.................................................................................................................78
3.3 生成一张工资单.................................................................................................................80
3.4 从 Excel 中抽取文本..........................................................................................................87
3.5 巧妙使用 Excel Chart.........................................................................................................92
3.6 .NET 导入 Excel 文件的另一种选择................................................................................97
1 认识
NPOI
本章将介绍 NPOI 的一些基本信息,包括以下几个部分
什么是 NPOI
版权说明
相关资源
团队介绍
未来展望
各 Assembly 的作用
1.1 什么是 NPOI
NPOI,顾名思义,就是 POI 的.NET 版本。那 POI 又是什么呢?POI 是一套用 Java 写成的
库,能够帮助开发者在没有安装微软 Oce 的情况下读写 Oce 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 许可证请见 http://www.phpx.com/man/Apache-2/license.html
1.3 相关资源
官方网站:http://npoi.codeplex.com/
POIFS Browser 1.2
下载地址:http://npoi.codeplex.com/Release/ProjectReleases.aspx?
ReleaseId=24305
QQ 交流群: 78142590
1.4 团队介绍
Tony Qu 来自于中国上海,是这个项目的发起人和开发人员,时区是 GMT+8,2008 年
9 月开始了 NPOI 的开发,负责 NPOI 所有底层库的开发、测试和 bug 修复。
个人 blog 地址为 http://tonyqus.cnblogs.com/
Hüseyin Tüfekçilerli 来自于土耳其的伊斯坦布尔,也是这个项目的开发人员,时区是
GMT+2,2008 年 11 月参与了 NPOI 的开发,主要负责 POIFS Browser 1.0 的开发工
作。
个人 blog 地址为 http://huseyint.com/
aTao.Xiang,来自中国,2009 年 8 月开始参与该项目,主要参与了 NPOI 1.2 中文版的
撰写工作和推广工作
个人 blog 地址为 http://www.cnblogs.com/atao/
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 分钟)
第三,稳定性好(相对于用 Oce OIA 而言,毕竟那东西是基于 Automation 做的,在
Server 上跑个 Automation 的东西,想想都觉得可怕),跑过了将近 1000 个测试用例
(来自于 POI 的 testcase 目录)
第四,API 简单易用,当然这得感谢 POI 的设计师们
第五,完美支持 Excel 2003 格式(据说 myxls 无法正确读取 xls 模板,但 NPOI 可以),
以后也许是所有 Oce 2003 格式
希望 NPOI 把这些优势继续发扬下去,这样 NPOI 才会更有竞争力。
1.6 NPOI 1.2 中各 Assembly 的作用
NPOI 目前有好几个 assembly,每个的作用各有不同,开发人员可以按需加载相应的
assembly。在这里大概罗列一下:
NPOI.Util 基础辅助库
NPOI.POIFS OLE2 格式读写库
NPOI.DDF Microsoft Drawing 格式读写库
NPOI.SS Excel 公式计算库
NPOI.HPSF OLE2 的 Summary Information 和 Document Summary Information
属性读写库
NPOI.HSSF Excel BIFF 格式读写库
2. 使用 NPOI 生成 xls 文件.
2.1 创建基本内容
2.1.1 创建
Workbook
和
Sheet
作者:Tony Qu
NPOI 官方网站:http://npoi.codeplex.com/
创建 Workbook 说白了就是创建一个 Excel 文件,当然在 NPOI 中更准确的表示是在内存
中创建一个 Workbook 对象流。

本节作为第 2 章的开篇章节,将做较为详细的讲解,以帮助 NPOI 的学习者更好的理解
NPOI 的组成和使用。
NPOI.HSSF 是专门负责 Excel BIFF 格式的命名空间,供开发者使用的对象主要位于
NPOI.HSSF.UserModel 和 NPOI.HSSF.Util 命名空间下,下面我们要讲到的 Workbook
的创建用的就是 NPOI.HSSF.UserModel.HSSFWorkbook 类,这个类负责创建.xls 文档。
在开始创建 Workbook 之前,我们先要在项目中引用一些必要的 NPOI assembly,如下
所示:
NPOI.dll
NPOI.POIFS.dll
NPOI.HSSF.dll
NPOI.Util.dll
要创建一个新的 xls 文件其实很简单,只要我们初始化一个新的 HSSFWorkbook 实例就
行了,如下所示:
using NPOI.HSSF.UserModel;
...
HSSFWorkbook hssfworkbook = new HSSFWorkbook();
是不是很方便啊,没有任何参数或设置,但这么创建有一些限制,这样创建出来的
Workbook 在 Excel 中打开是会报错的,因为 Excel 规定一个 Workbook 必须至少带 1
个 Sheet,这也是为什么在 Excel 界面中,新建一个 Workbook 默认都会新建 3 个
Sheet。所以必须加入下面的创建 Sheet 的代码才能保证生成的文件正常:
HSSFSheet sheet = hssfworkbook.CreateSheet("new sheet");
如果要创建标准的 Excel 文件,即拥有 3 个 Sheet,可以用下面的代码:
hssfworkbook.CreateSheet("Sheet1");
hssfworkbook.CreateSheet("Sheet2");
hssfworkbook.CreateSheet("Sheet3");
最后就是把这个 HSSFWorkbook 实例写入文件了,代码也很简单,如下所示:
FileStream file = new FileStream(@"test.xls", FileMode.Create);
hssfworkbook.Write(file);
file.Close();
这里假设文件名是 test.xls,,在创建完 FileStream 之后,直接调用 HSSFWorkbook
类的 Write 方法就可以了。
最后你可以打开 test.xls 文件确认一下,是不是有 3 个空的 Sheet。
相关范例请见 NPOI 1.2
正式版 中的 CreateEmptyExcelFile 项目。
剩余63页未读,继续阅读





安全验证
文档复制为VIP权益,开通VIP直接复制

评论0