【JXls推荐学习】jXLS - 用模板产生Excel报表

系统 1705 0
这将会是一个系列文章,介绍我们在开发过程中用到的一些open source library,覆盖到的范围有Excel, Email, FTP, XML, Monitor等等

=================主要内容分割线=================

jXLS ( http://jxls.sourceforge.net/ ) 是一个用来产生Excel文件的library,它非常小巧而且易用,能够用一个Excel模板加上数据来渲染产生最终的Excel文件,比直接用POI这种底层的API来写要方便很多,尤其对于那些需要严格控制格式的Excel报表有非常大的帮助。

我们来看一下它文档上的例子,先准备好一个Excel模板:

这里用到forEach,outline,if这些tag,在它的文档里面有很详细的解释,如果输出结果要求很简单,也可以不需要tag。

然后准备好数据,放入到一个map,调用APi输出
Java代码:
1. List departmens = new ArrayList();  
2. // initilize list of departments in some way  
3. Map beans = new HashMap();  
4. beans.put("departments", departments);  
5. XLSTransformer transformer = new XLSTransformer();  
6. transformer.transformXLS(templateFileName, beans, destFileName); 
这个就是输出的结果:


可以看到产生一份这样复杂的Excel,用jXLS来实现是很轻松愉快的一件事情。

利用jXLS和webwork (struts 2)良好的可扩展性,我们可以将2者集成在一起,通过实现一个Result(见附件),我们可以把action的所有属性都放到jXLS所要用的map里面,让模板可以拿到action的属性,进行渲染输出,只需要在xwork.xml里面定义就可以了:
result type:
Java代码 
1. <result-type name="excel" class="package.name.JxlsResult"/> 

和action result
Java代码 
1. <result name="success" type="excel">foo/bar.xls</result> 
=================相关Lib分割线=================

excelutils ( http://excelutils.sourceforge.net/ ) 也是一个类似的项目,它本身已经提供了和webwork的集成,但是没有支持多个sheet渲染的功能,而且没有jXLS活跃。jXLS在最新版本里面还提供了读取Excel的简便方法。
你给我站住
这两天学习JXls开发文档,太谢谢版主的这篇文章了,将是我这方面的启蒙学习材料。

【JXls推荐学习】jXLS - 用模板产生Excel报表


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论