使用jar包jasperreports-1.3.2.jar、jasperreports-extensions-1.3.1.jar同样一个报表实例文件打印excel和PDF格式都能正常,唯独打印Word格式报表,出现断行和空白。
.Jrxml文件里设置的是分组字段为年度和保管期限,每页显示15行。JAVA代码里控制的是先将数据按照年度和保管期限分组,一组一组的打印,也就是说每一组都要重启一页打印,不足十五行的,补够空行。比如一组的数据是20条,那么它会占用2页,第一页显示1-15,第二页显示5,应该补10个空行,事实上其他的PDF、Excel也都能正常显示这个空行。但就是word出现了显示的时候,比如我打印的结果是31页,在第四页的时候属于这一组的有10条数据,本来代码里确实补上了5个空白行的,但是却不显示空白表格行,出现空白一片,如图1。我的第6页出现空白和乱七八糟的表格,如图2。一开始老觉得是报表实例文件.Jrxml里写的样式的问题,因为有报表高手说word格式的报表实例要求比较严格,需要单独设计样式,但是请了专业的报表设计专家改了好几版的样式,打印的结果还是惨不忍睹......有高手说是jasperreports本身的问题,这个肯定解决不了.....
脑子里突然的一个念头,目光闪到了加空行的代码那里,发现该报表实例定义的列有件号、文件编号、文件题名、日期、页数、备注,分组字段是年度和保管期限。补空行的代码只是给年度和保管期限写上了它这一组的实际的值,比如属于年度=2010;保管期限=长期的一组的,补空行直接new了一个空的map,往里面set("年度","2010")和set("保管期限","长期")。我写了个set("件号",""),再次打印,居然发现之前出现的异常都没有了,而且excel和PDF都能正常打印。哈哈问题解决了,总结一下,将除分组字段以外的其他字段也都写上值为空字符串,解析的时候就不会出错了,不会有空白和断行、断页了。但是请记住给分组字段set的值不能为空的,要不你这空行属于哪一组的,要往哪里加,jasperreports可是不知道啊。
分享到:
相关推荐
JasperReports,iReport制作报表,功能JAR 导入直接运行
开源报表打印组件JasperReports用法详解,开源报表打印组件JasperReports用法详解,开源报表打印组件JasperReports用法详解
JasperReports结合iReport制作报表教程
iReport+jasperReports开发java Application报表
JasperReports报表的介绍及其原理,里面还有小例子。
iReport-3.7.0 + jasperreports-3.7.0生成报表
NULL 博文链接:https://rox.iteye.com/blog/603469
iReport+jasperReports 制作WEB报表pdf格式,初学JAVA报表很有用
NULL 博文链接:https://chengxibeauty.iteye.com/blog/1747020
NULL 博文链接:https://fiercelf.iteye.com/blog/571403
基于struts2-jasperreports-plugin-2.3.1.2改写的插件,在原有功能的基础上又添加了多报表同时打印的功能。建议没用过struts2-jasperreports插件的先学习怎么使用这个插件。配的文档只对添加的功能的使用方法做了...
iReport-JasperReports报表开发指南+操作手册 含书签
JasperReports开源报表概述和运行原理
NULL 博文链接:https://qdjinxin.iteye.com/blog/350194
jasperreports 生成报表 pdf excel xml 详细流程
iReport+jasperReports实现flash报表查询和显示功能
iReport+jasperReports JAVA报表是款不错的java报表
JasperReports 报表