我公司的一些顾问创建了多个jasper报告(使用iReports),这些报告将使用自定义JRDataSource以编程方式填充。以编程方式阅读jasper报告
问题是我需要知道哪些元素出现在报表中,以便我可以调用相应的WebServices,所以我的问题是:如何以编程方式使用Java读取报表以便我可以识别每个需要填充的元素?
报告不能以编程方式编制,因为布局会有不断变化,并且每次发生这种变化时我们都无法更新我们的软件。
我公司的一些顾问创建了多个jasper报告(使用iReports),这些报告将使用自定义JRDataSource以编程方式填充。以编程方式阅读jasper报告
问题是我需要知道哪些元素出现在报表中,以便我可以调用相应的WebServices,所以我的问题是:如何以编程方式使用Java读取报表以便我可以识别每个需要填充的元素?
报告不能以编程方式编制,因为布局会有不断变化,并且每次发生这种变化时我们都无法更新我们的软件。
设法让报表所需使用下面的代码的所有元素(场):
JasperReport report = (JasperReport) JRLoader.loadObjectFromFile(path + "MyTestReport.jasper");
JRField[] gf = report.getFields();
因为它是XML,您当然可以阅读并解析您的信息。
由于JasperReports的工作倒过来,通过的JRDataSource拉数据,而不是结构化数据推,控制输出,它会更好,如果你能拦截的数据源。因此,如果您可以从数据源获取所需的信息,则可以替换数据源(委托给原始数据源)或执行AOP。
我不确定您的问题的具体要求。也许编辑你的答案究竟是什么问题。