最近做的项目需要一个属性对比功能,所对比的属性是用户手动选择的,而且对比后需要输出有PDF/EXCEL/HTML/JPEG-线形图等格式的报表,之前做报表基本都是静态报表,用iReport编辑完就OK了.但这个需求动态生成列,数据源可以选择多个,不同数据源相同属性要合并到一起做对比.解决方法一直没有弄好,自己写API的话短时间内对多格式支持肯定达不到要求.最终经过BAIDU大婶找到了DynamicReport框架基于Jasper的动态报表,这个框架在BAIDU几乎没有教程,只能对着官方的Examples了解报表方式(痛苦啊).
最初实现单数据源动态报表的时候效果还能够接受.但当实现多数据源动态报表时使用CrossTab后就不能按要求控制报表的宽度,而且数据也会出现一些问题(不读取第一条数据[显示时为空]).JPEG使用JFreeChart出的.
准备换框架又没有找到其他的动态报表框架,来CSDN看看兄弟们都用哪些报表框架来解决动态报表问题的.
上面为多源多属性报表出现的问题,图中选择了三个属性,4个数据源,后台将报表宽度设置为了2000,在图中可以看到该表并没有使用2000的宽度.由于QQ截图的原因并没有截取全部报表.