在集成所有子报表后未生成主报表

时间:2012-06-12 07:33:26

标签: jasper-reports ireport subreports

我有4个子报告,我试图在主报告中集成。

  • 第一个子报告有7页
  • 第二页有2页
  • 第三页有2页
  • 第四页有2页

每个jasper文件的大小分别为:

  • 131 kB
  • 58 kB
  • 85 kB
  • 174 kB

所有子报表的内容大多是静态文本。


我面临的问题是当我将这些子报表与主报表集成并以Excel格式预览时

  • iReport工具(4.1.3版本)停止运行
  • 经过很长时间(约10分钟)后,会出现以下错误消息

    java.lang.OutOfMemoryError: Java heap space null
    
你可以告诉我可能是什么原因吗? 我已经尝试了所有选项。我也尝试将第一个子报告设置为主报告,但我仍然面临同样的问题。 如果你能在这里帮助我,我将非常感激。

2 个答案:

答案 0 :(得分:0)

我开始将此作为评论,但意识到这很多。这不会真正回答您的问题,但会给您一些故障排除步骤以帮助您找到问题。

  1. 从主报表中删除所有子报表,然后运行预览以确保其正常工作。如果它不起作用,请尝试使用仅包含文本的完全空白报告以确保其有效,如果没有,则我将卸载并重新安装iReport。

  2. 隔离每个子报表并运行预览到Excel,以确保它们独立运行。这可能需要对报告进行一些临时更改以允许它们运行,而不依赖于主报告中的数据或参数。

  3. 一次将一个子报表添加回主报表,检查预览以确保它仍然有效。如果在添加报告后它停止工作,您现在找到了故障报告。然后,我会删除所有不会导致问题的报告,并通过它自己尝试,只是为了确保将报告组合在一起不是问题。如果你无法弄明白,你至少应该在这里形成一个更具体的问题以获得一些帮助。

  4. 如果你全部添加它们仍然有效,恭喜你以某种方式修复它。由于某种原因,这通常最终成为我的理由。

答案 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