jasperreport struts

最近研究jasperreport整合struts2 总结一下以备后用

struts2是借助于struts2-jasperreports-plugin-2.0.14.jar整合jasperreport的其中主要的实现在JasperReportsResult.class中的doExecute方法封装了生成报表的实现,是通过valuestatck得到数据源的,他实现了ValueStackDataSource,实现JRDataSource接口,JRDataSource接口的子类很多,具体情况具体分析吧,JRDataSource接口有两个方法,getFieldValue和next,今天做的时候老是得不到值,研究了好久,通过debug发现fieldDescription为空,原来通过ireport生成的jrxml文件里面的fieldDescription为空(或许是我没有正确生成?),自己没有自动生成,另外把查出来的值封装到一个javabean中,字段名一定要和fieldDescription中的名字保持一致(比如:bean中用的SID那么描述中也要用SID),

在doExecute方法中封装了xls,xml,html,pdf的实现,struts2对excel的封装不是很好,格式很乱,可以通过继承JasperReportsResult重写doExecute方法来修改里面的实现,具体的生成不同格式的不同实现明天再研究在记录

 

继承JasperReportsResult的类重写doExcute方法,在方法中添加下面代码:

 else if (format.equals(FORMAT_XLS)) {
                         response.setContentType("application/vnd.ms-excel");
                         exporter = new JRXlsExporter();
                         exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS,Boolean.TRUE);
                   exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE);//移除空白
                   exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);//--背景色
                   
                     }

 

 

 

 

 

 

仅做备用用。。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值