2012-05-03 3 views
0

Некоторые из моих консультантов компании создали несколько отчетов jasper (используя iReports), которые будут заполнены программно с использованием пользовательского JRDataSource.Прочитайте отчет о яшме программно

Проблема заключается в том, что мне нужно знать, какие элементы присутствуют в отчете, чтобы я мог ссылаться на соответствующие WebServices, поэтому мой вопрос: Как я могу программно, на Java, читать отчет, чтобы я мог идентифицировать каждый элемент, который нужно заполнить?

Отчеты не могут быть сделаны программно, потому что в их компоновке будут внесены постоянные изменения, и мы не сможем обновлять наше программное обеспечение каждый раз, когда происходит одно из этих изменений.

ответ

2

Успели получить все элементы (поля), необходимые для отчета, используя следующий код:

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

Как и XML, вы можете, конечно, прочитать все и проанализировать свою информацию.

Как JasperReports работает наоборот, потянув данные через JRDataSource, вместо того, что структурированные данные выталкивает, контролирует выход, было бы лучше, если бы вы могли перехватывать источник данных. Поэтому, если вы можете получить необходимую информацию из источника данных, вы можете заменить источник данных (делегирование оригиналу) или сделать АОП.

Я не уверен в точном соответствии с вашими требованиями. Возможно, отредактируйте свой ответ на то, в чем проблема.

Смежные вопросы