ireport 4.7.1乐队

时间:2012-10-31 13:55:12

标签: jasper-reports ireport

我正在使用iReport 4.7.1。这是一个包含大量信息的报告(402个参数)。(不是字段,而是参数) 我正在使用页面标题的1284频段和摘要的频段1409.页面格式为8,264 x 20,125。 报告,打印不正确。细节乐队,工作正常,但摘要部分是一团糟。 摘要乐队的代码是:

<summary>
    <band height="600" splitType="Stretch">

详细代码是:

<detail>
    <band height="1409" splitType="Inmediate">

当我使用其他细节带(detail2)打印是一团糟 代码是:

<detail2>
    <band height="1409" splitType="Stretch">

我试图更改页面格式。默认为8,264 x 20,125英寸,当我更改为A4。尺寸相同,尺寸不会更好。默认页面非常窄。 两个报告而不是一个是合理的吗?我可以更改乐队的大小并为我的所有项目留出空间吗?

2 个答案:

答案 0 :(得分:1)

首先你说8,264 x 20,125 inches,我认为这是不正确的。我认为Jasper Reports使用的像素不是英寸。其次,从指定的大小和英寸输出到PDF时会有转换。例如,对于常规的8.5“x 11”字母,Jasper Reports中相应的大小应为612 X 792.

那是什么意思?

嗯,这意味着Jasper Reports世界中每个真实世界的英寸等于72。所以贾斯珀报告中的8,264 x 20,125尺寸大小为114.8“x 279.5”,这样可以提供更多视角,大约9.5英尺,超过23英尺。 那真非常棒!

那你做什么?

Jasper Reports中的A4井是542 x 842.所以你需要通过使用较小的字体,包装文本来缩小报告的实际大小,但在这种情况下我认为这不够。

设计报告可以被视为一种艺术(保持悬挂我有一个承诺)。它有特定的目标,必须满足或失败:

  • 需要包含有用的必要信息。 这可能很棘手,如果您在报告中没有足够的数据,它将没有用处。有很多,没有人能够理解它。这是一个必须达到的平衡。
  • 需要欣喜若狂。这并不意味着漂亮的照片。这意味着它需要有自然流动。如果事情未对齐或未相应分组,读者将无法处理报告。
  • 需要在布局中考虑交付格式。报告将以PDF格式提交与作为电子表格提交的报告之间存在巨大差异。使用电子表格,您可以输入更多信息,因为用户可以通过隐藏它们来轻松配对他们想要的列。
  • 是否要打印报告?如果要打印,您确实需要坚持使用标准页面尺寸,或者至少知道它将打印在哪个页面尺寸上。这将限制你,因为你不能使字体变得如此之小以至于你需要放大镜来阅读它。

我确信还有其他人,但这是我在报告时亲自记住的。

在你的情况下,有这么多数据,我认为你有两个选择:

  1. 仅允许导出到Excel并让用户决定他们想要什么。缺点是,如果他们正在打印它,它看起来不会像Excel那样好。
  2. 将报告拆分为不同的报告,以满足报告所用的每项任务的特定需求。这方面的缺点是更多的工作。它要求您首先确定此报告实际使用的内容和方式。然后,用户实际需要使用哪些信息来做出决策。
  3. 就个人而言,我会选择选项2.对于大量数据的报告几乎没用。用户如何期望从包含如此多数据的报告中得出任何结论? 保持简洁,干净,尽可能地提高报告的效率。

答案 1 :(得分:0)

谢谢。我在两份小报告中将报告分开。 我尝试创建其他细节乐队。我把细节1185像素和细节2 600像素。并且都有Spilled Type Inmediate。 该报告更好,但有些参数无序 可能是一些属性不好? 是否可以将信息放在字段而不是参数? 参数是哈希映射。 Java代码

 parameter.put("i_4_motivo_vol",     arrayTodosIndicadores[327]);

jrxml代码

<parameter name="i_4_motivo_vol" class="java.lang.String"/>
<textField>
<reportElement uuid="5e27ddd1-747f-474c-82af-ac3cfcf8eee6" mode="Transparent" x="450"  y="116" width="41" height="20">
                <printWhenExpression><![CDATA[Boolean.valueOf($P{tamMuestral_4}.intValue() >= $P{muestra2}.intValue())]]></printWhenExpression>
            </reportElement>
            <textElement/>
            <textFieldExpression><![CDATA[$P{i_4_motivo_vol}]]></textFieldExpression>
        </textField>