java操作excel杂谈及jxls初体验

    鉴于windows操作系统及office办公平台,在个人桌面上的垄断地位,使得excel/word/ppt等文件被广泛应用。通过java读写excel文档是编程开发中常见问题,比如在swing和web应用中经常遇到。目前通过Java操作Excel的类库大致有[1]:
    1、POI,大名鼎鼎的Apache上的项目。
    2、Java Excel API(亦简称jexcelapi或jxl),纯java的excel开发包。
    3、jexcel,jxl的衍生品,适宜于Swing开发。
    4、jxls,依赖于POI,基于excel模板的可定制化报表输出工具。
    5、Jacob (Java COM Bridge),顾名思义,是采用桥接方式访问COM组件及Win32类库。
    6、其它方式,如数据导出到html格式的表格中,再另存为xls文档

 

    使用比较
    POI、jxl、jexcel可以划归为一类,通过java封装了Excel的操作,所以需要折腾Workbook,Sheet,Cell等对象,顾及excel的每个细节。这种方式,优点是功能强大。缺点是代码冗长拖沓,阅读困难。
    jxls虽然是基于POI,但其最大突破在于预先定制好Excel模板(如字段、格式、图表等),运行期绑定数据即可呈现多样化报表。其优点是编程轻松,功能灵活方便。缺点是对于过于动态化报表不太适用(如输出字段、格式非常多变)。
    Jacob和COM模型粘在一起,自然被纯java的拥趸者所不顾。所以,应用不是很广。
 

    jxls初体验

    业务部门经常需要我们技术部给推送一些定期报表,这些报表的字段及格式都是预定义好的。显而易见,在这种场合,jxls是再适合不过的工具了。只要定义好输出报表的模板,绑定查询出的数据即大功告成。日常维护起来也很方便,比如加减字段、改变展现方式、嵌入excel自动图表等都能轻松搞定。
    百闻不如一见,从jxls主页[5]上下载了jXLS v.0.9.6(不知何故,自20080409日后没有再更新),安装起来运行其中自带的范例。自带范例可以通过maven来编译,偶试了试编译成功,但不知道怎么运行范例。后来没辙,把范例导到eclipse中进行编译运行。编译时下载了最新的poi-3.2-FINAL-20081019.jar,结果编译成功,但运行报错
    java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFCell.setEncoding(S)V
    后来换成poi-3.1-FINAL-20080629.jar,又报别的错,最后好不容易从CSDN上下载了poi-3.0.1-FINAL-200705.jar,总算运行成功。体验了一下,效果非常好。让人不解的是,在POI主站上只能下载到最新的POI3.2版本,老版本就是找不到。

 

    参考资料
    1、http://schmidt.devlib.org/java/libraries-excel.html,java操作Excel的类库清单
    2、http://jakarta.apache.org/poi/,POI主页
    3、http://www.andykhan.com/jexcelapi/index.html,jxl主页
    4、http://www.teamdev.com/jexcel/index.jsf,jexcel主页。
    5、http://jxls.sourceforge.net/,jxls主页
    6、http://jacob-project.wiki.sourceforge.net/,Jacob主页

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值