JasperReport...你首先要做什么编译或使用参数填充?
JasperReport... What do you do First Compile or fill using parameters?
我需要将参数发送到我的 JasperReport。
我是先使用 compileReport
编译它然后调用传递参数的 fillReport
还是我需要以相反的顺序做事?
编译和填写报告是两件不同的事情。
关于编译
Jasper 报表通常使用 IDE iReport 或 JasperSoft Studio 等工具开发(您也可以使用记事本),报表保存在扩展名为 .jrxml 的文件中,在 运行 之前宁 .jrxml
你需要把它编译成一个 .jasper
文件(你也可以在 运行 时间编译并且只保留 JasperReport
对象)
可以和.java
文件比较,需要编译成.class
个文件才能运行程序。
有关详细信息,请参阅:
How do I compile jrxml to get jasper?
关于填写
填充是当您想要用数据填充报表设计时,数据可以来自 JRDatasource or a database Connection(报表中的查询)和 Map<String,Object>
参数映射。填写报告后,您会得到一个 JasperPrint
对象(甚至可以将其保存到文件中,以避免多次填写相同的报告)
关于导出
报告生成的最后一个过程是导出过程,在这里您可以将 JasperPrint
导出为您想要的格式 pdf、excel、html 等
所以让我们回到你原来的问题。
我先用compileReport
编译吗?
如果您愿意,可以,但是如果您已经编译了报告,则不需要,在这种情况下,只需加载更快的编译报告。
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream);
我需要将参数发送到我的 JasperReport。
我是先使用 compileReport
编译它然后调用传递参数的 fillReport
还是我需要以相反的顺序做事?
编译和填写报告是两件不同的事情。
关于编译
Jasper 报表通常使用 IDE iReport 或 JasperSoft Studio 等工具开发(您也可以使用记事本),报表保存在扩展名为 .jrxml 的文件中,在 运行 之前宁 .jrxml
你需要把它编译成一个 .jasper
文件(你也可以在 运行 时间编译并且只保留 JasperReport
对象)
可以和.java
文件比较,需要编译成.class
个文件才能运行程序。
有关详细信息,请参阅:
How do I compile jrxml to get jasper?
关于填写
填充是当您想要用数据填充报表设计时,数据可以来自 JRDatasource or a database Connection(报表中的查询)和 Map<String,Object>
参数映射。填写报告后,您会得到一个 JasperPrint
对象(甚至可以将其保存到文件中,以避免多次填写相同的报告)
关于导出
报告生成的最后一个过程是导出过程,在这里您可以将 JasperPrint
导出为您想要的格式 pdf、excel、html 等
所以让我们回到你原来的问题。
我先用compileReport
编译吗?
如果您愿意,可以,但是如果您已经编译了报告,则不需要,在这种情况下,只需加载更快的编译报告。
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream);