英文:
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<String, Object> parameters = new HashMap<String, Object>();
parameters.put("REG_ID", 56);
parameters.put("CLIENT_ID", 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("C:\\Users\\<username>\\OneDrive\\Documents\\JasperReports\\reporttest1.pdf")));
Separately both of the report run, just not together.
In master report:
<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>
专注分享java语言的经验与见解,让所有开发者获益!
评论