net中npoi怎么往现成的excel模板里插入数据.docx
- 文档编号:25969373
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:6
- 大小:18.57KB
net中npoi怎么往现成的excel模板里插入数据.docx
《net中npoi怎么往现成的excel模板里插入数据.docx》由会员分享,可在线阅读,更多相关《net中npoi怎么往现成的excel模板里插入数据.docx(6页珍藏版)》请在冰豆网上搜索。
net中npoi怎么往现成的excel模板里插入数据
竭诚为您提供优质文档/双击可除
.net中npoi,怎么往现成的excel模板里插入数据
篇一:
npoi使用手册
nopi使用手册
目录
2.使用npoi生成xls文件
2.1创建基本内容
2.2单元格操作
2.2.3对齐相关设置
2.2.7设置宽度和高度
2.3使用excel公式
2.4创建图形
2.6高级功能
3.项目实践
3.3生成一张工资单
npoi1.2教程-1认识npoi
本章将介绍npoi的一些基本信息,包括以下几个部分
什么是npoi版权说明相关资源团队介绍未来展望各assembly的作用
1.1什么是npoi
npoi,顾名思义,就是poi的.net版本。
那poi又是什么呢?
poi是一套用java写成的库,能够帮助开发者在没有安装微软office的情况下读写office97-20xx的文件,支持的文件格式包括xls,doc,ppt等。
在本文发布时,poi的最新版本是3.5beta6。
npoi1.x是基于poi3.x版本开发的,与poi3.2对应的版本是npoi1.2,目前最新发布的版本是1.2.1,在该版本中仅支持读写excel文件和drawing格式,其他文件格式将在以后的版本中得到支持。
1.2版权说明
npoi采用的是apache2.0许可证(poi也是采用这个许可证),这意味着它可以被用于任何商业或非商业项目,你不用担心因为使用它而必须开放你自己的源代码,所以它对于很多从事业务系统开发的公司来说绝对是很不错的选择。
当然作为一个开源许可证,肯定也是有一些义务的,例如如果你在系统中使用npoi,你必须保留npoi中的所有声明信息。
对于源代码的任何修改,必须做出明确的标识。
完整的apache2.0许可证请见
1.3相关资源
官方网站:
poiFsbrowser1.2
下载地址:
qq交流群:
78142590
1.4团队介绍
tonyqu来自于中国上海,是这个项目的发起人和开发人员,时区是gmt+8,20xx年9月开始了npoi的开发,负责npoi所有底层库的开发、测试和bug修复。
个人blog地址为
hüseyintüfekilerli来自于土耳其的伊斯坦布尔,也是这个项目的开发人员,时区是gmt+2,20xx年11月参与了npoi的开发,主要负责poiFsbrowser1.0的开发工作。
个人blog地址为
atao.xiang,来自中国,20xx年8月开始参与该项目,主要参与了npoi1.2中文版的撰写工作和推广工作
个人blog地址为
1.5回顾与展望
目前poi版本中的hwpF(用于word的读写库)还不是很稳定,并非正式发布版本,且负责hwpF的关键开发人员已经离开,所以npoi可能考虑自己重新开发hwpF。
另外,目前微软正在开发openxmlFormatsdk,npoi可能会放弃对ooxml的支持,当然
这取决于用户的需求和openxmlFormatsdk的稳定性和速度。
从目前而言,npoi有几大优势
第一,完全基于.net2.0,而非.net3.0/3.5。
第二,读写速度快(有个国外的兄弟回复说,他原来用excelpackage生成用了4-5个小时,现在只需要4-5分钟)
第三,稳定性好(相对于用officeoia而言,毕竟那东西是基于automation做的,在server上跑个automation的东西,想想都觉得可怕),跑过了将近1000个测试用例(来自于poi的testcase目录)
第四,api简单易用,当然这得感谢poi的设计师们
第五,完美支持excel20xx格式(据说myxls无法正确读取xls模板,但npoi可以),以后也许是所有office20xx格式
希望npoi把这些优势继续发扬下去,这样npoi才会更有竞争力。
1.6npoi1.2中各assembly的作用
npoi目前有好几个assembly,每个的作用各有不同,开发人员可以按需加载相应的assembly。
在这里大概罗列一下:
npoi.util基础辅助库
npoi.poiFsole2格式读写库
npoi.ddFmicrosoftdrawing格式读写库
npoi.ssexcel公式计算库
npoi.hpsFole2的summaryinformation和documentsummaryinformation属性读写库
npoi.hssFexcelbiFF格式读写库
npoi1.2教程-2.1.1创建workbook和sheet
作者:
tonyqu
npoi官方网站:
创建workbook说白了就是创建一个excel文件,当然在npoi中更准确的表示是在内存中创建一个workbook对象流。
篇二:
基于npoi导出excel文件的研究与实现
基于npoi导出excel文件的研究与实现
[摘要]在基于b/s结构进行开发的应用系统中,“文件导出”是一项很重要的功能,利用它可以导出相关的业务数据,以便进行资料保存或者不同业务间的数据交互。
本文就如何利用npoi导出一个真正的excel文件进行研究与分析。
[关键词]npoi;导出;excel文件
1导出excel文件的传统方法
在进行excel文件导出时,传统的方法一般都是利用excel程序自身能够识别网页中的表格内容这种特性来实现的。
当web服务程序在响应客户端浏览请求时,先输出mime类型,然后输出表格等html内容。
比如(以c#代码为例):
Response.clear();
Response.buffer=false;
Response.addheader(”content-disposition”,”attachment;filename=test.
xls”);
Response.contenttype=“application/ms-excel”;
stringwritersw=newstringwriter();
htmltextwriterhtw=newhtmltextwriter(sw);
gridView1.Rendercontrol(htw);
Response.write(sw.tostring());
Response.end();
其中gridView1为web服务端的gridView控件的id。
利用此方法的前提是需要重载VerifyRenderinginserverForm函数,取消其函数内容。
通过这种方法,可以将web页面中的表格内容以html代码的方式输出到客户端浏览器,并提示保存名为test.xls的excel文件。
用记事本打开该文件,会发现其内容是html标记的网页文件,并非真正的二进制excel文件。
2excel文件导出的其他几种可行方法
想要导出真正的二进制excel文件,一是可以利用excel应用程序对象创建
篇三:
npoi(自动保存的)
npoi
1.三种excel抽取方式介绍在对excel进行数据抽取时,现在主流的技术方法是:
oledb,com组件,npoi
1.采用oledb读取excel文件,用这种方法读取excel速度还是非常的快的,但这种方式读取数据的时候不太灵活,不过可以在datatable中对数据进行一些删减修改。
这种方式将excel作为一个数据源,直接用sql语句获取数据了。
所以读取之前要知道此次要读取的sheet(当然也可以用序号,类似dt.Row[0][0]。
这样倒是不需要知道sheet)
优点:
读取方式简单、读取速度快,可在不关闭当前excel的情况下对该excel进行sql获取数据的操作。
缺点:
除了读取过程不太灵活之外,这种读取方式还有个弊端就是,当excel数据量很大时。
会非常占用内存,当内存不够时会抛出内存溢出的异常。
个人意见:
oledb还是比较好用的,内存不够的情况至今也没见过。
组件的方式读取excel
这种方式需要先引用microsoft.office.interop.excel。
首选说下这
种方式的优缺点
优点:
可以非常灵活的读取excel中的数据
缺点:
如果是web站点部署在iis上时,还需要服务器机子已安装了excel,有时候还需要为配置iis权限。
最重要的一点因为是基于单元格方式读取的,所以数据很慢。
个人意见:
不建议用这种方法,基于单元格的读取方式很显然是落后低效的。
3.npoi方式读取excel,npoi是一组开源的组件,类似java的poi。
包括:
npoi、npoi.hpsF、npoi.hssF、npoi.hssF.usermodel、npoi.poiFs、npoi.util,下载的时候别只下一个噢
优点:
读取excel速度较快,读取方式操作灵活性,03版本用
hssFworkbook,07版本用xssFworkbook。
可解决几乎所有的excel问题,如单元格合并,插入公式,单元格颜色等等。
缺点:
不能对已打开的当前excel文件进行操作。
需要导入多个dll,而且要注意dll所对应的netframework版本是2.0还是4.0。
功能虽然十分强大,但由于代码不开源导致dll里面的函数方法需要自己琢磨或者上网查询。
2.关于npoi的dll和using
主要包含以下4个dll:
npoi.dll,
npoi.ooxml.dll,
npoi.openxml4net.dll,
npoi.openxmlFormats.dll
值得注意的是以上dll分为.netframework2.0版以及.netframework4.0版,引用的时候需要注意下。
在程序中引用以上四个dll后,需在程序开头写上以下代码(方便使用):
usingnpoi.ss.usermodel;
usingnpoi.ss.util;
usingnpoi.xssF.usermodel;
using
npoi.hssF.usermodel;
其中excel03版本用的是hssFworkbook,excel07版本用的是xssFworkbook
3.npoi基本操作
在利用npoi对excel进行基本操作前,需要熟悉以下几个概念:
整个excel表格叫做工作表:
workbook(工作薄),包含的叫页(工作表):
sheet;行:
Row;列:
column;单元格cell。
cell是excel中最基本的单位,当然也可以用range来选择多个单元格范围。
知道上面这几个概念后我们就可以进行下一步操作了。
首先npoi对excel的操作主要分为两类:
读取和创建。
一个是对已有的excel进行操作,一个是创建新的excel,这两种情况对应的代码有着明显的不同。
注意:
这里贴出来的是源代码,方便大家理解,在第5章中我对下列代码进行了封装。
1.1读取excel
1.1.1工作薄和工作表
//获取指定excel的工作薄
Filestreamfs=newFilestream(@d:
\123.xls,
Filemode.open,Fileaccess.Read);
iworkbookworkbook=newhssFworkbook(fs);//03版iworkbookworkbook=newxssFworkbook(fs);//07版
//获取名称为mysheet的表
isheetsheet=workbook.getsheet("mysheet");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- net npoi 怎么 现成 excel 模板 插入 数据