以编程方式阅读jasper报告

时间:2012-05-03 12:33:35

标签: java jasper-reports reporting

我的一些公司顾问创建了多个jasper报告(使用iReports),这些报告将使用Custom JRDataSource以编程方式填充。

问题是我需要知道报告中存在哪些元素,以便我可以调用相应的WebServices,所以我的问题是:我如何以Java编程方式阅读报告以便我可以确定需要填写的每个元素?

报告不能以编程方式进行,因为它们的布局会不断变化,每次发生这种变化时我们都无法更新我们的软件。

2 个答案:

答案 0 :(得分:2)

因为它是XML,您当然可以阅读所有内容并解析您的信息。

由于JasperReports反过来工作,通过JRDataSource提取数据,而不是结构化数据推送,控制输出,如果你能截取它会更好数据源。因此,如果您可以从数据源获取所需信息,则可以替换数据源(委托给原始数据源),或执行AOP。

我不确定您问题的确切要求。也许编辑你的答案到底是什么问题。

答案 1 :(得分:2)

使用以下代码管理以获取报告所需的所有元素(字段):

JasperReport report = (JasperReport) JRLoader.loadObjectFromFile(path + "MyTestReport.jasper");
JRField[] gf = report.getFields();