Это не тщательный учебник, а некоторые указатели на то, как я использовал JasperReports с файлами JRxml и Clojure. Я понятия не имею о DynamicJasper.
Вот некоторые вещи, которые вам нужно будет импортировать.
(ns app.reports
(:require [clojure.java.io :as io]
[clojure.string :as s])
(:import [net.sf.jasperreports.engine
JasperCompileManager
JasperFillManager
JasperPrint
JasperExportManager
JREmptyDataSource
JRExporter
JRException]))
Скомпилировать файл jrxml:
(def my-report
(JasperCompileManager/compileReport
(io/input-stream
(io/file "my-report.jrxml"))))
Используйте Java HashMap
с данными/столбцов Вы передадите в свой доклад, чтобы заполнить его.
(def report-data
(java.util.HashMap. {"attrname_1" "Attr 1 String"
"attrname_2" "More data..."}))
Заполните отчет с данными из источника:
(def filled-report
(JasperFillManager/fillReport my-report report-data (JREmptyDataSource.)
Экспорт отчета. Вот как это сделать в формате PDF.
(JasperExportManager/exportReportToPdfFile filled-report "result.pdf")
Надеюсь, это поможет вам начать работу.
Спасибо, я проверю это! На самом деле я начал собирать обертку lib. Вы можете вносить свой вклад или использовать его: https://github.com/sventechie/jasper-reports-clj – sventechie