1

我有 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
    

你能告诉我可能是什么原因吗?我已经尝试了所有选项。我也尝试将第一个子报表设置为主报表,但我仍然面临同样的问题。如果您能在这里帮助我,我将不胜感激。

4

2 回答 2

0

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

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

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

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

  4. 如果您将所有这些都添加并且它仍然有效,那么恭喜您以某种方式修复它。出于某种原因,这通常对我来说就是这种情况。

于 2012-06-13T03:14:24.403 回答
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

于 2012-10-17T14:03:11.937 回答