Компиляция и заполнение отчета - это два разных вещей.
О составлении
Джаспер отчеты обычно разработан с использованием таких инструментов, как IDE иРепорт или JasperSoft студии (вы также можете использовать записную книжку), отчет сохраняется в файле с расширением .jrxml, перед запуском .jrxml
вы должны скомпилировать его в .jasper
файл (вы также можете скомпилировать на время выполнения и только сохранить JasperReport
объект)
Это можно сравнить с .java
файлом, который нужен, чтобы быть скомпилирован в .class
файлы, прежде чем вы можете запустить программа.
Для получения дополнительной информации см:
How do I compile jrxml to get jasper?
О заполнении
Наполнение, когда вы хотите, чтобы заполнить ваш дизайн отчета с данными, данные могут поступать из JRDatasource или базы данных Connection (запрос в отчете) и карту параметров Map<String,Object>
. Когда отчет будет заполнена, вы получите JasperPrint
объект (даже это может быть сохранены в файл, чтобы избежать заполнения такой же отчет несколько раз)
О экспорт
Окончательный процесс формирования отчета представляет собой процесс экспорта, где вы экспортируете JasperPrint
в желаемый формат pdf, excel, html и т. д.
Так что давайте вернемся к исходному вопросу.
Скомпилировать ли его сначала с помощью compileReport
?
Вы можете, если вы хотите, но вы не нужно, если вы уже составлен отчет, в этом случае просто загрузите скомпилированный отчет, который быстрее.
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream);
Вообще, если вы не динамичны создания структуры отчета, вы должны скомпилировать один раз, может быть, во время ваших приложений построить цикл, и просто загрузить и заполнить его во время выполнения – MadProgrammer
ли вы имеете в виду, чтобы установить свои параметры и вызвать метод fillReport, когда вы сказали, заполнить? – Chetan
Довольно много ..... – MadProgrammer