没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
8页
首先说说现在我所知道的Java编辑Excel文件的两大开源工具: jakarta POI和JavaExcelAPI(简称JXL),这两套工具我都试用了一这段时间,感觉各有优劣吧。POI在某些细节有些小Bug并且不支持写入图片,其他方面都挺不错的; JXL就惨了,除了支持写入图片外,我暂时看不到它比POI好的地方,我碰到的主要的问题就是对公式支持不是很好,很多带有公式的Excel文件用JXL打开后,公式就丢失了(比如now(),today()),在网上看到其他大虾评论说JXL写入公式也有问题,另外,JXL操作Excel文件的效率比POI低一点。经过比较后,我选择了POI开发我的项目。
资源推荐
资源详情
资源评论
java 的 POI 操作 Excel 文件(1)
微软在桌面系统上的成功,令我们不得不大量使用它的办公产品,如:Word,Excel。时至
今日,它的源代码仍然不公开已封锁了我们的进一步应用和开发。然而在要求更高的服务
器领域,微软本身的产品移植性不好,
性能不佳。在我们实际的开发中,表现层的解决方案虽然有多样,但是 Ie 浏览器已成为最
多人使用的浏览器,因为大家都用 Windows。在企业办公系统中,常常有客户这样子要求:
你要把我们的报表直接用 Excel 打开。或者是:我们已经习惯用 Excel 打印。这样子如果用.
net 开发是没有问题的,但是有 j2ee 这个比.net 更有前途的开放式的开发环境,难道我为了
解决打印的要求去另写客户端的控件?或者在服务器端使用本地代码?第一种方案的问题
是关键数据的处理有时候不能在客户端做,第 2 种方案的问题是牺牲了代码的可移植性和
稳定性。如果让客户端只负责处理生成好的报表,那将是一种诱人的选择。
Apache 的 Jakata 项目的 POI 子项目,目标是处理 ole2 对象。目前比较成熟的是 HSSF 接口,
处理 MS Excel(97-2002)对象。它不象我们仅仅是用 csv 生成的没有格式的可以由 Excel
转换的东西,而是真正的 Excel 对象,你可以控制一些属性如 sheet,cell 等等。这是一个年
轻的项目,所以象 HDF 这样直接支持 Word 对象的好东西仍然在设计中。其它支持 word 格
式的纯 java 方案还有 itext,不过也是仍在奋斗中。但是 HSSF 已经成熟到能够和足够我们
使用了。另外,无锡永中 Office 的实现方案也是纯 java 的解决方案,不过那也是完全商业
的产品,并不是公开代码项目。其实,从开发历史的角度讲,在 80 年代中期 starOffice 的
原作者在德国成立了 StarOffice suite 公司,然后到 1999 年夏天 starOffice 被 sun 收购,再到
2000 年 6 月 starOffice5.2 的发布;并且从 starOffice6.0 开始,starOffice 建立在 OpenOffice
的 api 的基础上,这个公开代码的 office 项目已经进行了很长的时间。虽然那是由 C++写的,
但是 POI 的代码部分也是由 openOffice 改过来的。所以,应该对 POI 充满足够的信心。国
内已经有部分公司在他们的办公自动化等 Web 项目中使用 poi 了,如日恒的 ioffice,海泰
的 HTOffice 等。
java 当初把核心处理设成 Unicode,带来的好处是另代码适应了多语言环境。然而由于老外
的英语只有 26 个字母,有些情况下,一些程序员用 8 位的 byte 处理,一不小心就去掉了
CJK 的高位。或者是由于习惯在程序中采用硬编码,还有多种原因,使得许多 java 应用在
CJK 的处理上很烦恼。还好在 POI HSSF 中考虑到这个问题,可以设置 encoding 为双字节。
POI 可以到 www.apache.org 下载到。编译好的 jar 主要有这样 4 个:poi 包,poi Browser
包,poi hdf 包,poi hssf 例程包。实际运行时,需要有 poi 包就可以了。如果用 Jakarta ant 编译
和运行,下载 apache Jakarta POI 的 release 中的 src 包,它里面已经为你生成好了 build 文件
了。只要运行 ant 就可以了(ant 的安装和使用在此不说了)。如果是用 Jbuilder 运行,请在新
建的项目中加入 poi 包。以 Jbuilder6 为例,选择 Tools 菜单项的 config libraries...选项,新建
一个 lib。在弹出的菜单中选择 poi 包,如这个 jakarta-poi-1.5.1-final-20020820.jar,把 poi 添
加到 jbuilder 中。然后,右键点击你的项目,在 project 的 properties 菜单中 path 的 required
Libraries 中,点 add,添加刚才加入到 jbuilder 中的 poi 到你现在的项目中。如果你仅仅是
为了熟悉 POI hssf 的使用,可以直接看 POI 的 samples 包中的源代码,并且运行它。hssf 的
各种对象都有例程的介绍。hssf 提供的例程在 org.apache.poi.hssf.usermodel.examples 包中,
共有 14 个,生成的目标 xls 都是 workbook.xls。如果你想看更多的例程,可以参考 hssf 的
Junit test cases,在 poi 的包的源代码中有。hssf 都有测试代码。
资源评论
- qq_246107032015-01-07还行吧,可以参考
煎饼卷大葱
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功