JasperReport Что вы сначала компилируете или заполняете с помощью параметров?

Мне нужно отправить параметры в мой JasperReport.

Компилировать ли я его сначала с помощью compileReport, а затем вызывать fillReport, передавая параметры, или мне нужно делать что-то в обратном порядке?


person Chetan    schedule 21.03.2016    source источник
comment
Как правило, если вы не динамически генерируете структуру отчета, вам следует скомпилировать один раз, возможно, во время цикла сборки вашего приложения, и просто загрузить и заполнить его во время выполнения.   -  person MadProgrammer    schedule 21.03.2016
comment
Вы хотите установить мои параметры и вызвать метод fillReport, когда вы сказали fill?   -  person Chetan    schedule 21.03.2016


Ответы (1)


Составление и заполнение отчета - две разные вещи.

О компиляции

Отчеты Jasper обычно разрабатываются с использованием инструментов IDE, таких как iReport или JasperSoft Studio (вы также можете использовать блокнот), отчет сохраняется в файле с расширением .jrxml, перед запуском .jrxml вам необходимо скомпилировать его в файл .jasper (вы также может компилироваться во время выполнения и сохранять только объект JasperReport)

Его можно сравнить с .java файлом, который необходимо скомпилировать в .class файлы, прежде чем вы сможете запустить программу.

Для получения дополнительной информации см .:

Как скомпилировать jrxml для получения jasper?

О заливке

Заполнение - это когда вы хотите заполнить дизайн отчета данными, данные могут поступать из JRDatasource или база данных Подключение (запрос в отчете) и Map<String,Object> карту параметров. При заполнении отчета вы получаете объект JasperPrint (даже его можно сохранить в файл, чтобы не заполнять один и тот же отчет несколько раз)

Об экспорте

Последний процесс создания отчета - это процесс экспорта, когда вы экспортируете JasperPrint в желаемый формат pdf, excel, html и т. Д.

Итак, давайте вернемся к вашему первоначальному вопросу.

Скомпилировать ли я сначала с помощью compileReport?

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

JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream);
person Petter Friberg    schedule 21.03.2016