Jasper reports 合并多个报告/具有多个报告章节
如何将多个jrxml JasperReport合并到一个报告单元中 而不使用java代码 我可以上传jrxml文件并仅使用RESTAPI/Webservice生成报告单元 或者该元素布局是否有其他解决方案Jasper reports 合并多个报告/具有多个报告章节,jasper-reports,Jasper Reports,如何将多个jrxml JasperReport合并到一个报告单元中 而不使用java代码 我可以上传jrxml文件并仅使用RESTAPI/Webservice生成报告单元 或者该元素布局是否有其他解决方案 --header-- * group of countries england australia croatia * pie chart with countries --footer-- --new page-- --header-- * group of so
--header--
* group of countries
england
australia
croatia
* pie chart with countries
--footer--
--new page--
--header--
* group of something else
something 1
something else 2
....
* chart of something else
--footer--
我想用
元素迭代一个数组变量,并为每个元素打印一个子报告。比如:
<variable name="chapters" class="java.util.List" resetType="None" resetGroup="ChapterGroup" incrementType="Group" incrementGroup="BrowserGroup">
<variableExpression>
<![CDATA[java.util.Arrays.asList("browser", "country")]]>
</variableExpression>
<initialValueExpression>
<![CDATA[new java.util.ArrayList()]]>
</initialValueExpression>
</variable>
<group name="ChapterGroup" isStartNewPage="true" keepTogether="true">
<groupExpression><![CDATA[$V{chapters}]]></groupExpression>
<groupHeader>
<band height="20" splitType="Stretch"/>
</groupHeader>
<groupFooter>
<band height="20" splitType="Stretch">
<subreport>
<reportElement isPrintRepeatedValues="false" x="5" y="25" width="325" height="20" isRemoveLineWhenBlank="true" backcolor="#ffcc99"/>
<subreportParameter name="<![CDATA[$V{chapters}]]>">
<subreportParameterExpression><![CDATA[$V{chapters}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA["repo:/reports/" + $V{chapters}]]></subreportExpression>
</subreport>
但是我不能让它工作
使用Jasper Report server 5(我自己编写jrxml,并且只使用iReports进行预览)。
所有内容的数据源相同,两个查询用于两个带图表的分组部分。这可以通过添加报告组来完成,您可以根据需要为每个图表添加任意多个报告组,并将每个图表的页眉和页脚保留在同一报告组中,每个报告组都将具有子数据集。 我已经组合了5个不同页眉和页脚的报告 您可以在Reports目录下看到JasperSoft提供的示例报告名称“Standard Chart report” 为此:- 1:-添加数据集 2:-添加报告组 3:-从调色板拖动图表 这是代码示例,在此代码示例中,我将条形图和堆叠条形图组合在两个页面中,并使用两个不同的子数据集:-
<group name="bar">
<groupExpression><![CDATA[null]]></groupExpression>
<groupHeader>
<band height="400">
<barChart>
<chart evaluationTime="Report">
<reportElement x="0" y="0" width="555" height="300"/>
<chartTitle>
<titleExpression><![CDATA["Bar Chart"]]></titleExpression>
</chartTitle>
<chartSubtitle>
<subtitleExpression><![CDATA["Chart Displaying Bars"]]></subtitleExpression>
</chartSubtitle>
<chartLegend/>
<hyperlinkTooltipExpression><![CDATA["Bar Chart"]]></hyperlinkTooltipExpression>
</chart>
<categoryDataset>
<dataset incrementType="Group" incrementGroup="salesState">
<datasetRun subDataset="categoryDataset"/>
</dataset>
<categorySeries>
<seriesExpression><![CDATA[$F{sales_state}]]></seriesExpression>
<categoryExpression><![CDATA[$F{full_name}]]></categoryExpression>
<valueExpression><![CDATA[$V{personAmount}]]></valueExpression>
</categorySeries>
</categoryDataset>
<barPlot>
<plot/>
<itemLabel/>
<categoryAxisLabelExpression><![CDATA["Name"]]></categoryAxisLabelExpression>
<valueAxisLabelExpression><![CDATA["Amount"]]></valueAxisLabelExpression>
</barPlot>
</barChart>
</band>
</groupHeader>
</group>
<group name="stackedBar">
<groupExpression><![CDATA[null]]></groupExpression>
<groupHeader>
<band height="400">
<stackedBarChart>
<chart evaluationTime="Report">
<reportElement x="0" y="0" width="555" height="300"/>
<chartTitle>
<titleExpression><![CDATA["Stacked Bar Chart"]]></titleExpression>
</chartTitle>
<chartSubtitle>
<subtitleExpression><![CDATA["Chart Displaying Stacked Bars"]]></subtitleExpression>
</chartSubtitle>
<chartLegend/>
<hyperlinkTooltipExpression><![CDATA["Stacked Bar Chart"]]></hyperlinkTooltipExpression>
</chart>
<categoryDataset>
<dataset incrementType="Group" incrementGroup="salesState">
<datasetRun subDataset="categoryDataset"/>
</dataset>
<categorySeries>
<seriesExpression><![CDATA[$F{sales_state}]]></seriesExpression>
<categoryExpression><![CDATA[$F{full_name}]]></categoryExpression>
<valueExpression><![CDATA[$V{personAmount}]]></valueExpression>
</categorySeries>
</categoryDataset>
<barPlot>
<plot/>
<itemLabel/>
<categoryAxisLabelExpression><![CDATA["Name"]]></categoryAxisLabelExpression>
<valueAxisLabelExpression><![CDATA["Amount"]]></valueAxisLabelExpression>
</barPlot>
</stackedBarChart>
</band>
</groupHeader>
</group>
拥有子报告怎么样???。这就是问题所在。如何在没有Java的情况下使用它们?因此,当您知道如何组合报表时,为什么不向我展示如何组合报表或修复我的尝试?在iReport中打开示例报表“sample Chart report”,您可以看到其结构。您的答案可能会更好,它对我没有帮助,对其他人也没有帮助。唯一有用的提示是查看示例报告。我已经更新了答案,如果您仍然面临任何问题,请告诉我。对我来说,最大的问题是在定义了几个组后,确定我将
、
和
放在哪里。我现在知道,他们只是在跟踪小组,一切都很顺利。你的答案现在看起来也好多了!