2016-03-21 4 views
1

Мне нужно отправить параметры в JasperReport.JasperReport ... Что вы делаете Сначала Скомпилируйте или заполните с помощью параметров?

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

+1

Вообще, если вы не динамичны создания структуры отчета, вы должны скомпилировать один раз, может быть, во время ваших приложений построить цикл, и просто загрузить и заполнить его во время выполнения – MadProgrammer

+0

ли вы имеете в виду, чтобы установить свои параметры и вызвать метод fillReport, когда вы сказали, заполнить? – Chetan

+1

Довольно много ..... – MadProgrammer

ответ

1

Компиляция и заполнение отчета - это два разных вещей.

О составлении

Джаспер отчеты обычно разработан с использованием таких инструментов, как 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); 
+0

Спасибо, кучка ...... Сброшено много путаницы !! – Chetan