Библиотека отчетов Java для включения на веб-страницу

Я работаю над приложением Grails, и мне нужно отображать некоторые отчеты и разрешать пользователям экспортировать их в наиболее распространенные форматы (PDF, XML ...).

Я не хочу встраивать SQL-запрос в определение отчета, логика отчета интегрирована в службы Grails, а библиотека отчетов, которую я ищу, должна работать с набором данных (возможно, списком карт) без реального источника данных.

Я использовал Jasper Reports и iReport для своих тестов, и они отлично работают вместе с Grails для функций экспорта (PDF, XML, HTML). Но мне сложно включить их в свой шаблон страницы. Я хотел бы иметь свой верхний колонтитул, нижний колонтитул, меню навигации и фильтр в html отчете.

Единственное решение, которое пришло мне в голову, - использовать iframe, но мне это не очень нравится.

Может ли Jasper Report ответить на мой запрос? знаете ли вы какую-либо другую библиотеку отчетов Java, которая позволяет мне включать отчет в мое тело HTML?


person Fabrizio D'Ammassa    schedule 05.12.2010    source источник


Ответы (2)


Вы можете использовать тег g:include для включения ответа контроллера:

<g:include controller="myJasper" action="showReport" 
    params="[foo: 'bar', baz: 42]" />

Используя плагин Grails Jasper, ваш контроллер будет содержать такой код:

import org.codehaus.groovy.grails.plugins.jasper.JasperExportFormat;
import org.codehaus.groovy.grails.plugins.jasper.JasperReportDef;

class MyJasperController {
    def jasperService

    def showReport = {
        def reportDef = new JasperReportDef(
            name: 'your_report.jasper', 
            parameters: params,
            fileFormat: JasperExportFormat.HTML_FORMAT)

        def report = jasperService.generateReport(reportDef)
            .toByteArray().toString("UTF-8")

        render report
    }
}
person robbbert    schedule 05.12.2010
comment
Спасибо. Это могло сработать для меня. В любом случае, я думаю, что было бы немного сложно правильно стилизовать шаблон отчета Jasper, чтобы он соответствовал стилям моего веб-приложения ... (и сортировка столбцов недоступна, что является проблемой) - person Fabrizio D'Ammassa; 05.12.2010

Для Java существует множество API-интерфейсов веб-отчетов. Взгляните сюда:

http://java-source.net/open-source/charting-and-reporting

person Alexis Dufrenoy    schedule 05.12.2010