jasper报告从jasper加载报告

时间:2015-04-21 11:27:49

标签: java jasper-reports

我正在从.jasper文件加载jasper报告文件,以提高性能,如下所示。

JasperReport rpt = (JasperReport)JRLoader.loadObjectFromFile(location);

但我现在有一个要求,即动态形成的查询必须设置为.jasper(已编译)文件。有没有办法做同样的事情?

4 个答案:

答案 0 :(得分:1)

只需将.jasper文件打开到ireport,即可加载.jasper文件并进行编辑。

答案 1 :(得分:0)

这是JRXML文件的hack方法。 JRXML文件包含您的查询。您可以在此处编写Java代码或任何其他代码来替换/写下您的查询:

MongoDB查询示例: <queryString language="MongoDbQuery"> {'collectionName':'customer'} </queryString>

答案 2 :(得分:0)

这样的东西?

爪哇

JasperReport rpt = (JasperReport)JRLoader.loadObject(Your .jasper file path);

Map paramMap = new HashMap();
paramMap.put("p_sql", "select * from baztable where foo='bar' and fuga='hoge' order by username");
// pass the dynamic query to .jasper file.
JasperPrint print = JasperFillManager.fillReport(rpt, paramMap, connection);

JRXML

<parameter name="p_sql" class="java.lang.String" isForPrompting="false">
    <defaultValueExpression><![CDATA["select * from baztable order by username"]]></defaultValueExpression>
</parameter>
<queryString>
    <![CDATA[$P!{p_sql}]]>
</queryString>

答案 3 :(得分:0)

你可以使用$ P! (带感叹号的参数),可用于条件查询。 使用此功能,您可以根据特定条件制作动态查询。 可以找到相同的指南here.