- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种高效率.NET平台Excel文件控制方法
一种高效率.NET平台Excel文件控制方法
摘要:目前,.NET框架下开发中的Excel应用主要使用微软提供的OLE接口,但是这种方法需要服务器后台启动Excel进程,当应用数据量或者用户激增时,OLE方法将极大地耗费系统资源。对一种Java编译的第三方空间NPOI进行了研究,详细阐述了对Excel文件格式进行控制的方法,能够实现在服务器未安装MS Office的环境下,采用文件流方式对Excel文件进行读写和控制,从而极大地节省了服务器资源。
关键词关键词:NET;NPOI;Excel;文件流
中图分类号:TP301文献标识码:A文章编号文章编号2013)011002602
0引言
由Windows平台支撑的.NET框架是目前Web开发使用的主要工具之一,是由微软公司提供的解决方案。在Webform开发过程中,一般采用微软体系下的OLE方式对Excel文件进行读写编辑的操作,虽然代码编写简单,网上也有大量的例程,但是当Web程序真正投入使用时,其响应速度和资源耗用却不能使用户感到满意,尤其是在数据量大、瞬时爆发用户多、页面结构复杂的情况下。究其主要原因在于:①需要在服务器安装Office系统;②每接入一个用户都要启动一个Excel进程。笔者以前编写的应用程序在投入使用之后,高峰期服务器进程中有40多个Excel进程,每个占用内存5~40M之间,服务器不堪重负。因此,使用一种替代方案尤为必要。
1NPOI简介
NPOI是POI的.NET版本,是一套用Java写成的第三方库,能够帮助Webform的开发者在没有安装Office的情况下读写Excel格式的文件,目前其2.0版本已经能够支持Excel 2007。NPOI对Excel进行读写的主要方法是按照Excel组织文件的格式规则和方法通过文件流方式生成Excel文件,从而避免了通过OLE方式激活庞大的Excel进程,大量节省了服务器的资源,提高了服务器生成Excel文件的性能。
对于Webform开发者来讲,Excel包括的核心元素按照层次由上至下有工作簿(也就是一个xls文件)、工作表(也就是一个sheet)、表格中一个行、表格中的一个单元格。与此相对应,NPOI通过HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell这4个类分别来定义上述的Excel核心元素,完成xls文件的创建过程。
2NPOI应用实例
NPOI在使用之前,要引用NPOI.dll、Ionic.Zip.dll这两个文件,并引用NPOI.HSSF.UserModel这个命名空间,如果要使用功能更强的SS接口,则要同时引用NPOI.SS.UserModel。
2.1创建一个基本的Excel文档
构造一个xls文件,首先要创建一个工作簿book1:
IWorkbook book1 = new HSSFWorkbook();
然后,创建一个工作表sheet1:
ISheet sheet1 = book1.CreateSheet(新工作表);
这里新创建的对象sheet1对应的工作表在xls被命名为“新工作表”,那么一个新的完整结构的空xls文件即被创建。如果需要向xls填充数据,则需要定义一个表格行和一个单元格:
IRow row0 = sheet1.CreateRow(0);
ICell cell0 = row0.CreateCell(0);
以上方法创建了工作表中行号为1的一个表格行,同时创建了行号为1,列号为A的单元格A1。要向这个单元格写入数据,则使用如下方法:
cell0.SetCellValue(这是第一格数据);
此时,一个完整的具有所有元素的Excel空白文档就生成了。
2.2基本Excel文档格式控制方法介绍
在Excel的使用过程中,设置页边距、边框、列宽行高、文字字体、数值样式,以及合并单元格、单元格水平垂直居中等经常要使用到Excel功能,NPOI对页面的这些设置也都能实现,下面简单介绍一下设置的方法。
(1) 设置页边距。页边距设置如图1所示,方法如下:
(2) 设置边框。官方例程里是用Region方法来批量设置边框格式,但是仍然在进化过程中的NPOI1.2.5版本在VS2010下使用Region方法调试通不过,所以退而求其次对单元格进行边框样式设定。首先使用ICellStyle创建一个单元格格式对象,然后对单元格边框进行指定:
(3) 设置列宽和行高。使用以下方法设置列宽和行高:
sheet1.SetColumnWidth(0,50*256);//设置第一列的宽度
shee
您可能关注的文档
最近下载
- 一年级迎春杯数学试卷.doc VIP
- 汉语言文学专业《古代汉语》课程教学大纲 (2).pdf VIP
- 思遵高速公路SZTJ标的施工组织研究设计.doc VIP
- 思遵高速公路SZTJ-11标的施工组织设计.doc VIP
- 财信证券-基金深度报告:美国REITs梳理专题.pdf
- 绩效评估公平感对员工敬业度的影响分析.doc VIP
- 《如何写好科研论文》期末考试答案(分类好的).pdf VIP
- 2021年天津外国语大学攻读硕士学位研究生入学考试《意大利语语言文学》试题(原卷).pdf VIP
- 在线网课学习课堂《实验室安全培训(首都医大)》单元测试考核答案.docx VIP
- 《小小营养师》幼儿园大班健康PPT课件.ppt VIP
文档评论(0)