gpt4 book ai didi

java - 简单的 JasperReport 查询

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:59 25 4
gpt4 key购买 nike

JasperReports 是否提供了一些 Java 中的函数,我可以使用它们并更改我的 jrxml。

例如更改字体、添加新的详细信息部分、添加静态文本、删除某些内容、添加图表等。

我想做它们

someObject.setFont("Arial");

这会将对象的字体设置为 Arial,我还可以在 jrxml 中看到相应的更改。

我知道iReport可以轻松地做到这一点,无需任何函数调用,但我只在构建一些应用程序时才需要使用Java函数。

如果是,请提供一个简单的示例或网站、链接,我可以从中学习。 JasperReports API 文档不太好。

最佳答案

是的,JasperReports 有一个 API 可以让您执行此操作。其基石是 JasperDesign类,代表内存中的报告。您应该查看No XML Design Sample ,它广泛使用 API 仅使用 java 从头开始​​构建报告。当我看到这个例子后,我发现通过探索 JasperDesign 中的 javadoc类中,我可以很容易地找到更改报表上的元素所需的任何方法。

举个例子,更改元素字体的基本方法是首先将 JRXML 加载到 JasperDesign 对象中,通过其键查找元素,然后调用 setFontName:

JasperDesign design = JRXmlLoader.load("path/to/your/JRXML.file");
JRElement element;
for (JRBand band : design.getDetailSection().getBands()) {
element band.getElementByKey("elementName");
}
if (element != null) {
((JRDesignTextElement) element).setFontName("Arial");
}

参见this question了解如何添加新乐队。最近的版本中这样做的方法发生了变化,因此网上的很多示例和教程都已经过时了。

完成修改/创建报告后,您可以保存它或编译它,如下所示:

JasperCompileManager.writeReportToXmlFile(design, "path/to/your/output.jrxml");
JasperCompileManager.compileReportToFile(design, "path/to/your/output.jasper");

关于java - 简单的 JasperReport 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24279434/

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