jasper-reports - Jasper Report 的最佳方法
问题描述
我需要生成 PDF 和 Excel 格式的报告。同样,我选择了 Jasper。现在需要您的帮助来确定最佳方法。
注意 - 我的查询本质上是动态的。就像在某些情况下一样,在某些情况下会提供名称,他们将提供日期而不是名称,在某些情况下两者都提供。
我已经确定的方法如下。
- 我们可以在 JRXML 中创建数据源和查询并执行相同的操作。但不确定查询是否是动态的。我个人不喜欢这种方法,因为从 java 我可以从池中传递连接。
- 我们可以从 Java 端传递查询和连接,然后 Japser 将执行查询。
- 我们可以在 java 中查询,然后将 bean 的列表传递给 Jasper 以创建报告。
现在需要一些关于上述最佳方法以及除上述之外的任何方法的建议。
解决方案
对我来说,option 3
是最好的。我以前是这样做的。
对于我来说,我有一份包含条件子报告的主报告。为此,我已经.jasper
从他们那里构建了子报告.jrxml
并传递了我的 bean 列表,这样我就不必再次重新/编译.jasper
from .jrxml
(我的主报告在其中,.jrxml
并且在那里设置了子报告的条件)。
另一个优点是,如果您想更改查询级别的逻辑,则不必更改 jasper 文件 - 完成后保持不变。所以,我认为,option 3
很好。
推荐阅读
- javascript - 我可以为另一个 AWS 账户中的用户池发送 DescribeUserPoolClient 命令吗
- angular - 使用 jasmine 在角度测量代码覆盖率时计算导入语句的覆盖率
- python - 如何将类的每个属性调用到其继承的类
- java - 在JAVA中的某个字段中将hashmap序列化为json
- xcode - Xcode 12.5 无法使用 M1 上的 .systemLibrary 目标解析 SwiftPackageDependency
- kendo-grid - 将 kendo 数据源(对象列表)发布到控制器
- ramda.js - ramda 根据类型合并 2 个 json 对象
- java - 创建两个读取自定义执行器端点
- angular - 带有 Angular 的 XLSX 库
- swift - 在 NavigationView 中清除 SwiftUI 列表未正确返回默认值