Jaspersoft子报告在Java中。

huangapple 未分类评论44阅读模式
英文:

Jaspersoft subreport in java

问题

以下是翻译好的内容:

我想将我的Jaspersoft报告保存为PDF格式。我有一个带有名为'REG_ID'的参数的主报告,其中包含一个带有单个参数'CLIENT_ID'的子报告。我的主报告已经准备就绪,当我在Eclipse底部选项卡上点击预览时,它可以完美运行。我只是想知道如何在Java应用程序中正确运行它。

到目前为止我尝试过的(我知道它不起作用,这是基于我目前的研究):

JasperReport jasperMasterReport = JasperCompileManager.compileReport(masterPath);
JasperReport jasperSubReport = JasperCompileManager.compileReport(subPath);

Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("REG_ID", 56);
parameters.put("CLIENT_ID", jasperSubReport); // 我需要向这个参数传递一个整数,比如1

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperSubReport, parameters, conn);

JasperExportManager.exportReportToPdfStream(jasperPrint, new FileOutputStream(new File("C:\\Users\\<username>\\OneDrive\\Documents\\JasperReports\\reporttest1.pdf")));

分别运行这两个报告是可以的,只是一起运行的时候不行。

在主报告中:

<subreport>
    <reportElement x="280" y="90" width="275" height="189" uuid="fadd7392-c1a8-4fa9-9728-f70ca780d105"/>
    <subreportParameter name="CLIENT_ID">
        <subreportParameterExpression><![CDATA[$P{CLIENT_ID}]]></subreportParameterExpression>
    </subreportParameter>
    <subreportParameter name="REG_ID">
        <subreportParameterExpression><![CDATA[$P{REG_ID}]]></subreportParameterExpression>
    </subreportParameter>
    <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
    <subreportExpression><![CDATA["ClientInfo.jasper"]]></subreportExpression>
</subreport>
英文:

I want to save my Jaspersoft report in pdf. I have a master report with a parameter called 'REG_ID', which contains a subreport with a single parameter 'CLIENT_ID'. My main report is ready to go, when I click on the preview on Eclipse bottom tab is runs perfectly. I just wonder how can I correctly run it with a java application.

What I have tried so far (I know it doesn't work, it based on my current research):

        JasperReport jasperMasterReport = JasperCompileManager.compileReport(masterPath);
    JasperReport jasperSubReport = JasperCompileManager.compileReport(subPath);

    Map&lt;String, Object&gt; parameters = new HashMap&lt;String, Object&gt;();
	parameters.put(&quot;REG_ID&quot;, 56);
	parameters.put(&quot;CLIENT_ID&quot;, jasperSubReport); // I need to pass an integer to this parameter, like 1
	
	JasperPrint jasperPrint = JasperFillManager.fillReport(jasperSubReport, parameters, conn);

	JasperExportManager.exportReportToPdfStream(jasperPrint, new FileOutputStream(new File(&quot;C:\\Users\\&lt;username&gt;\\OneDrive\\Documents\\JasperReports\\reporttest1.pdf&quot;)));

Separately both of the report run, just not together.

In master report:

		&lt;subreport&gt;
			&lt;reportElement x=&quot;280&quot; y=&quot;90&quot; width=&quot;275&quot; height=&quot;189&quot; uuid=&quot;fadd7392-c1a8-4fa9-9728-f70ca780d105&quot;/&gt;
			&lt;subreportParameter name=&quot;CLIENT_ID&quot;&gt;
				&lt;subreportParameterExpression&gt;&lt;![CDATA[$P{CLIENT_ID}]]&gt;&lt;/subreportParameterExpression&gt;
			&lt;/subreportParameter&gt;
			&lt;subreportParameter name=&quot;REG_ID&quot;&gt;
				&lt;subreportParameterExpression&gt;&lt;![CDATA[$P{REG_ID}]]&gt;&lt;/subreportParameterExpression&gt;
			&lt;/subreportParameter&gt;
			&lt;connectionExpression&gt;&lt;![CDATA[$P{REPORT_CONNECTION}]]&gt;&lt;/connectionExpression&gt;
			&lt;subreportExpression&gt;&lt;![CDATA[&quot;ClientInfo.jasper&quot;]]&gt;&lt;/subreportExpression&gt;
		&lt;/subreport&gt;

huangapple
  • 本文由 发表于 2020年4月10日 03:19:34
  • 转载请务必保留本文链接:https://java.coder-hub.com/61128670.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定