社区
Java SE
帖子详情
操作excel表格,poi与jxl哪个更好
msgboxmail
2004-06-09 03:39:31
目前操作excel表格的组件有poi与jxl两种
各位大侠谁知道哪个更好些???
...全文
445
10
打赏
收藏
操作excel表格,poi与jxl哪个更好
目前操作excel表格的组件有poi与jxl两种 各位大侠谁知道哪个更好些???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
okitgo
2004-08-17
打赏
举报
回复
我用了
都不怎么好
正想其它的办法
a33b33
2004-08-10
打赏
举报
回复
楼上,poi怎么往excel里插入图片呀
chinabigbug
2004-08-09
打赏
举报
回复
POI对单元格的格式支持不太好!比如单元格里是数字,但把它设定为文本格式,用POI读取话仍然只能作为数字读取,却不能作为String读取!不过据我测试,POI比jxl得效率要高!而且图像之类的支持比jxl好!
abcdhy
2004-08-08
打赏
举报
回复
如果是使用 excel 来进行报表输出,我一般是使用 excel 先做好模板,然后用 JDBC 来修改数据
babymon
2004-08-07
打赏
举报
回复
我没有用过jxl,但是在用poi时一旦文件过大就会有内存溢出,不知道jxl在处理大文件时有没有好的技术。
请大家多帮忙了 :)
warmb
2004-06-17
打赏
举报
回复
poi好像不支持往Excel文件中添加图片
jxl也只支持png格式的
楼主要是有更好的OS程序,请告诉我们
谢谢
zsh168
2004-06-12
打赏
举报
回复
我只用过POI呵呵
binny
2004-06-09
打赏
举报
回复
我也只用过poi,还可以
rootI
2004-06-09
打赏
举报
回复
poi方便,jxl灵活
tiger_wkh52741
2004-06-09
打赏
举报
回复
不敢评价两者好环,但我用过poi,还可以!
POI
读写海量
Excel
(详细解读)
目前处理
Excel
的开源javaAPI主要有两种,一是
Jxl
(Java
Excel
API),
Jxl
只支持
Excel
2003以下的版本。另外一种是Apache的Jakarta
POI
,相比于
Jxl
,
POI
对微软办公文档的支持更加强大,但是它使用复杂,上手慢。
POI
可支持更高的
Excel
版本2007。对
Excel
的读取,
POI
有两种模式,一是用户模式,这种方式同
Jxl
的使用很类似,使用简单,都是将文件一次性读到内存,文件小的时候,没有什么问题,当文件大的时候,就会出现OutOfMemory的内存溢出问题。第二种是事件驱动模式,拿
Excel
2007来说,其内容采用XML的格式来存储,所以处理
excel
就是解析XML,而目前使用事件驱动模式解析XML的API是SAX(Simple API for XML),这种模型在读取XML文档时,并没有将整个文档读入内存,而是按顺序将整个文档解析完,在解析过程中,会主动产生事件交给程序中相应的处理函数来处理当前内容。因此这种方式对系统资源要求不高,可以处理海量数据。笔者曾经做过测试,这种方法处理一千万条,每条五列的数据花费大约11分钟。可见处理海量数据的文件事件驱动是一个很好的方式。而本文中用到的Abstract
Excel
2003Reader、Abstract
Excel
2007Reader对
Excel
的读取都是采用这种
POI
的事件驱动模式。至于
Excel
的写
操作
,对较高版本的
Excel
2007,
POI
提供了很好的支持,主要流程是第一步构建工作薄和电子
表格
对象,第二步在一个流中构建文本文件,第三步使用流中产生的数据替换模板中的电子
表格
。这种方式也可以处理海量数据文件。Abstract
Excel
2007Writer就是使用这种方式进行写
操作
。对于写入较低版本的
Excel
2003,
POI
使用了用户模式来处理,就是将整个文档加载进内存,如果数据量大的话就会出现内存溢出的问题,
Excel
2003Writer就是使用这种方式。据笔者的测试,如果数据量大于3万条,每条8列的话,就会报OutOfMemory的错误。
Excel
2003中每个电子
表格
的记录数必须在65536以下,否则就会发生异常。目前还没有好的解决方案,建议对于海量数据写入
操作
,尽量使用
Excel
2007。
SOAOFFICE - 微软 OFFICE 中间件
SOAOFFICE - 微软 OFFICE 中间件 SOAOffice 中间件是北京科翰软件为微软OFFICE量身打造的Web中间件,是Web调用Office、存取Office数据的必备中间件。SOAOffice中间件由服务器端数据组件和客户端显示控件构成。 SOAOffice 完全抛弃了传统利用Office服务器端自动化技术存取文档数据的种种弊端和缺陷,采用独创的专利技术构建了一个功能强大、简单易用的微软Office中间件平台,平台提供标准的.net和java组件接口,不但能够在线(浏览器页面)打开、编辑、保存Office文档,而且开发人员还能够以简洁的代码快速的将数据库数据动态填充到Office文档指定位置,并且也能够从Office文档中提取指定位置的数据保存到数据库。 SOAOffice提供这些强大功能的同时,服务器端并不需要安装运行Office软件。通过SOAOffice,在Web世界里,难以驯服的Word/
Excel
就变成了普通的、熟悉的、服务器端可调用的.Net组件、Java组件、ASP组件、PHP组件,开发人员再也不用研究复杂的Word/
Excel
COM自动化细节、学习复杂的VBA语法调用,也不用去应对Word/
Excel
死进程、系统稳定运行的问题。开发人员能够节省宝贵的精力和时间,把它投放到更重要的业务逻辑和系统架构上,而控制Office的具体技术细节交给SOAOffice去做。 SOAOffice除了提供Word/
Excel
动态数据填充,Word/
Excel
数据导入导出,Word/
Excel
/Power
Poi
nt等Office文档的在线打开、编辑、保存,权限控制,只读控制等功能外,还给在线办公内置了强大的支持功能:强制痕迹保留,手写批注,圈阅签字,手写签名,电子印章、数字签名、模板套红、一键套红等。 科翰软件是国内唯一的微软Office中间件开发商,拥有卓越的自主研发实力和独创的专利技术,其产品SOAOffice不仅畅销国内,而且还远销欧美国际市场,其中世界500强美国Dover集团、可口可乐 Coca-Cola、中石油、中石化等都是SOAOffice产品的忠实客户。 SOAOFFICE中间件主要应用在Web系统下所有涉及编程调用Office的领域,例如: 1. 需要把数据库字段内容填充到Word/
Excel
指定位置的; 2. 需要把Word/
Excel
指定位置的内容提取出来保存到数据库字段的; 3. 需要动态生成指定格式的Word文档的; 4. 需要把html页面中
表格
导出到
excel
的; 5. 需要在html页面中套打票据、报表的; 6. 需要在html页面中显示复杂报表,并要求精确打印预览及打印的; 7. 需要动态生成中国式复杂格式报表的; 8. 需要在html页面中输入复杂票据的; 9. 使用COM服务器自动化技术调用Word/
Excel
经常产生死进程或系统不稳定的; 10.Web系统中调用Word/
Excel
的页面有大量并发用户访问的; 11.使用jacob、
jxl
、apache
poi
的; 12.需要在Web中调用Word/
Excel
,并且追求系统运行稳定、可靠的; 13.最终用户可以浏览 Word/
Excel
/Ppt 文档内容,但需要禁止复制、粘贴、下载、另存的; 14.需要在html页面中在线编辑Word公文的; 15.需要在协同办公中强制保留Word修改痕迹的; 16.需要在协同办公中手写批注、手写签名、加盖电子印章、模板套红的; 17.需要在新闻编辑中强制保留Word修改痕迹、手写批注、圈阅的; 18.需要在远程教育中实现试卷、作业在线批改的。 19.需要在html页面中把Word转换为pdf的; 20.需要在html页面中快速打开、显示pdf的; 21.需要在Ajax架构里调用Word/
Excel
的,包括服务器端和客户端Javascript都适用。 22.需要控制不同的用户在Word/
Excel
中不同的区域中编辑权限的; 23.需要在企业局域网内架设在线Office文档中心、知识管理的; 24.需要在web页面导入导出
Excel
单元格数据的; ……… SOAOFFICE中间件包括三个内置组件:SOA
Excel
、SOAWord、SOAPower
Poi
nt。另外企业版还包括支持PDF文件的SOAPDF组件。 SOAOFFICE 中间件采用标准HTTP传输协议,跨平台性好,支持任意Web服务器(IIS,WebLogic,WebSphere,Apache,Tomcat,Domino等),任意服务器
操作
系统(Win2k, Win2003,Win2008,Linux,Unix等),任意数据库(Access,SQL Server,Oracle,MySQL,DB2,Sybase等),以及任意WEB编程语言和Web架构(C#,Java,VB.Net,PHP,DOMINO,JSP,ASP,J2EE,ASP.NET,Ajax等)。SOAOFFICE同时支持C/S方式的编程和其他支持ActiveX的容器,您可以在VB,Delphi以及C++ Builder中使用本中间件,快速创建C/S结构的应用。 SOAOFFICE中间件是一个国际化产品,支持多种界面语言:简体中文、繁体中文、英语、日语、法语、德语等。
POI
操作
Excel
导入和导出
在企业级应用开发中,
Excel
报表是一种最常见的报表需求,
POI
是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API目前比较成熟的是HSSF接口,处理MS
Excel
(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由
Excel
转换的东西,而是真正的
Excel
对象,你可以控制一些属性如sheet,cell等Apache
POI
是Apache软件基金会的开放源码函式库,
POI
提供API给Java程序对Microsoft Office格式档案读和写的功能。结构:HSSF - 提供读写Microsoft
Excel
格式档案的功能。XSSF - 提供读写Microsoft
Excel
OOXML格式档案的功能。HWPF - 提供读写Microsoft Word格式档案的功能。HSLF - 提供读写Microsoft Power
Poi
nt格式档案的功能。HDGF - 提供读写Microsoft Visio格式档案的功能。
学习笔记---
excel
操作
POI
与
JXL
的比较
POI
和
JXL
在不同的项目都用过,由于用到得功能不是很多也不好说性能。 1、从代码来看(我的博客里有代码,都是实际项目用到的),似乎是
POI
更简洁,当然这要看业务了。 2、刚查过,
POI
是2010年更新的,而且修正了一些BUG,
JXL
是2009年更新的。 以下为转载 java
操作
excel
表格
,
POI
是apache公司的一个子项目,主要是提供一组
操作
wi
android 读取
excel
POI
JXL
最近由于工作需要,需要写一个工具,实现搜索功能,数据来源为
excel
表格
。 目前主要实现方式为两种,一种是基于
jxl
组件,另一种是
POI
。两种方式的区别在于,
jxl
只能读取2003版的
excel
,即后缀为xls的文件。当今常用的
excel
都是07版了,使用的为xlsx后缀文件。基于XML的压缩文件格式取代了其目前专有的默认文件格式 xls. 所以如果还用
jxl
,解析代码中存在 解压缩以及解析xm
Java SE
62,614
社区成员
307,319
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章