gpt4 book ai didi

clojure - 有没有一种从 Clojure 中使用 JasperReports 的简单方法?

转载 作者:行者123 更新时间:2023-12-02 03:27:57 26 4
gpt4 key购买 nike

我看到有一个 Scala wrapper for JasperReports , 我找到了 Clojure library for Scala interoperability ,以及 a snippet初学者的示例代码 from this discussion但我找不到 Jasper 或 DynamicJasper 的任何库或工作示例代码。我以为我以前找到了图书馆或文章。有什么提示吗?

问题是 JasperReports API 非常困惑(以变异为中心),所以我不想从头开始编写包装器代码。

最佳答案

这不是一个详尽的教程,而是一些关于我如何将 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")

我希望这可以帮助您入门。

关于clojure - 有没有一种从 Clojure 中使用 JasperReports 的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29263653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com