我有4个子报告,我试图在主报告中集成。
每个jasper文件的大小分别为:
所有子报表的内容大多是静态文本。
我面临的问题是当我将这些子报表与主报表集成并以Excel格式预览时
经过很长时间(约10分钟)后,会出现以下错误消息
java.lang.OutOfMemoryError: Java heap space null
答案 0 :(得分:0)
我开始将此作为评论,但意识到这很多。这不会真正回答您的问题,但会给您一些故障排除步骤以帮助您找到问题。
从主报表中删除所有子报表,然后运行预览以确保其正常工作。如果它不起作用,请尝试使用仅包含文本的完全空白报告以确保其有效,如果没有,则我将卸载并重新安装iReport。
隔离每个子报表并运行预览到Excel,以确保它们独立运行。这可能需要对报告进行一些临时更改以允许它们运行,而不依赖于主报告中的数据或参数。
一次将一个子报表添加回主报表,检查预览以确保它仍然有效。如果在添加报告后它停止工作,您现在找到了故障报告。然后,我会删除所有不会导致问题的报告,并通过它自己尝试,只是为了确保将报告组合在一起不是问题。如果你无法弄明白,你至少应该在这里形成一个更具体的问题以获得一些帮助。
如果你全部添加它们仍然有效,恭喜你以某种方式修复它。由于某种原因,这通常最终成为我的理由。
答案 1 :(得分:0)
在excel中导出时出现了同样的问题
我的问题是在我的jrxml中放置分页符
当我尝试在没有分页的情况下导出excel时,我遇到了同样的错误。
解决方案将这个条件放在我的分页符中:
<break>
<reportElement positionType="FixRelativeToBottom" x="0" y="106" width="100" height="1">
<printWhenExpression><![CDATA[!$P{IS_IGNORE_PAGINATION}]]></printWhenExpression>
</reportElement>
</break>
看printWhenExpression