欢迎来到天天文库
浏览记录
ID:15717833
大小:27.50 KB
页数:6页
时间:2018-08-05
《基于npoi导出excel文件的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于NPOI导出Excel文件的研究与实现 [摘要]在基于B/S结构进行开发的应用系统中,“文件导出”是一项很重要的功能,利用它可以导出相关的业务数据,以便进行资料保存或者不同业务间的数据交互。本文就如何利用NPOI导出一个真正的Excel文件进行研究与分析。 [关键词]NPOI;导出;Excel文件 doi:10.3969/j.issn.1673-0194.2013.15.061 [中图分类号]TP294[文献标识码]A[文章编号]1673-0194(2013)15-0093-02 1导出Excel文
2、件的传统方法 在进行Excel文件导出时,传统的方法一般都是利用Excel程序自身能够识别网页中的表格内容这种特性来实现的。当Web服务程序在响应客户端浏览请求时,先输出MIME类型,然后输出表格等HTML内容。比如(以C#代码为例): Response.Clear(); Response.Buffer=false; Response.AddHeader("Content-Disposition","attachment;filename=test.xls"); Response.ContentType
3、="application/ms-excel"; StringWritersw=newStringWriter(); HtmlTextWriterhtw=newHtmlTextWriter(sw); GridView1.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); 其中GridView1为Web服务端的GridView控件的ID。利用此方法的前提是需要重载VerifyRenderingInServerForm函数,
4、取消其函数内容。 通过这种方法,可以将Web页面中的表格内容以HTML代码的方式输出到客户端浏览器,并提示保存名为test.xls的Excel文件。用记事本打开该文件,会发现其内容是HTML标记的网页文件,并非真正的二进制Excel文件。 2Excel文件导出的其他几种可行方法 想要导出真正的二进制Excel文件,一是可以利用Excel应用程序对象创建Excel文件,然后输出二进制流到客户端浏览器进行保存;二是可以利用第三方的Excel类库,比如MyXlS、Koogra和NPOI等,直接生成二进制的Exce
5、l文件,然后输出二进制流到客户端浏览器进行保存。 利用Excel程序对象创建Excel文件首先要添加Microsoft.Office.Interop.Excel引用,并在代码中添加引用usingMicrosoft.Office.Interop.Excel,然后新建一个ApplicationClass实例,通过Excel应用程序实例进行相关的Excel文件操作,将创建的临时Excel文件读到内存流中,然后以二进制方式输出,并在最后将此实例释放。 使用Excel应用程序对象创建Excel文件,需要在服务器端安装O
6、ffice,而且还需要设定权限允许.NET访问COM+,并且在服务器端会看到Excel程序窗口一闪而过,当然可以让程序窗口不显示,但是任务管理器里还是会有Excel程序的进程,如果多个用户同时请求导出Excel文件,会产生多个Excel程序的进程,消耗过多的服务器资源,可能导致服务器宕机。另外Excel程序会把只包含数字的列进行类型转换,原本是文本型的,Excel程序会将其转成数值型,比如000123会变成123。如果内容以“=”开头,Excel程序还会把它当成公式执行,然后报错等,不便于原始格式Excel的生成
7、。 使用第三方Excel类库的优势就是不需要在服务器上安装微软的Office,避免版权问题,而且使用起来比OfficePIA的API更加方便,更人性化,但几种Excel类库各有千秋。比如MyXlS是一个免费开源的类库,侧重于Excel的输出。可以设置到单个单元格,但读取功能很弱。Koogra与MyXlS恰恰相反,是一个非常好用Excel读取类库,其最新版可以支持Excel2007格式,可是在测试过程中发现Koogra读不了MyXlS输出的XLS文件。而NPOI不仅支持导出Excel,还支持导入Excel,并能“
8、理解”OLE2文档结构。对于Excel文件来讲,NPOI不单是能创建Excel文件,而且能更深入地执行Excel文件的各种操作,比如支持单元格的格式设置、合并单元格、对齐设置、使用边框、字体设置、背景和纹理设置、宽度和高度设置等,还能使用Excel公式、创建图形、设置打印机属性、锁定列、设置密码等多项操作。 3利用NPOI导出Excel文件的实现 基于上述分析,我们使
此文档下载收益归作者所有