JasperReports 教程:Jasper 报告的用途是什么 Java? 例子

JasperReports 有什么用 Java?

贾斯珀报告 是一个开源报告工具 Java 用于报告应用程序。此报告工具有助于将丰富的内容写入屏幕、打印机或各种文件(如 HTML、PDF、XLS、RTF、CSV、XML、ODT 和 TXT)。JasperReports 还可用于 Java- 支持的应用程序,例如 Java EE 或 Web 应用程序生成动态内容。

如何安装 Jasper Reports-环境设置

现在,在本 Jaspersoft Studio 教程中,让我们逐步学习 JasperReports 环境设置的流程:

步骤1) 下载 Jasper Reports 社区版
去这个 链接 并单击立即下载选项来安装 Jasper Reports 社区版。

安装 Jasper Reports-环境设置

步骤2) 选择 Jaspersoft Studio CE
从社区版本中选择 Jaspersoft Studio CE

安装 Jasper Reports-环境设置

步骤3) 下载 Jaspersoft Studio
去这个 链接 并点击下载按钮。打开下载的TIB_js-studiocomm_6.9.0_windows_x86_64.exe文件。TIB_js-studiocomm_6.9.0_windows_x86_64.exe。

安装 Jasper Reports-环境设置

步骤4) 点击同意按钮
将出现以下屏幕,选择“我同意”按钮。

安装 Jasper Reports-环境设置

步骤5) 选择位置
选择您的安装位置并单击下一步按钮。

安装 Jasper Reports-环境设置

步骤6) 进度正在运行
您将在下一个屏幕上看到进度。

安装 Jasper Reports-环境设置

步骤7) 点击完成按钮
在下一个屏幕中,单击完成按钮。

安装 Jasper Reports-环境设置

步骤8) 进度已完成
您的窗口中将出现以下屏幕。

安装 Jasper Reports-环境设置

步骤9) 开始申请
接下来,单击“开始”选项。

安装 Jasper Reports-环境设置

步骤10) 开始使用 Jasper Reports Studio
将出现以下屏幕,您可以开始使用 Jasper Reports 工作室。

安装 Jasper Reports-环境设置

为什么要使用 Jasper Reports?

以下是使用 Jasper 报告工具的诸多原因:

  • 它为用户提供报告生成性能和交付。
  • 它可以帮助您以文本或图形格式表示数据。
  • 它是一个独立的、嵌入式的报告服务器,用于报告编制和执行。
  • 它允许对存储库中的所有报告进行基于角色的访问控制。
  • 用于与内部身份验证系统集成的 Spring Security 框架
  • 它提供安全、按计划和自动交付的交互式报告引擎。
  • 您可以将报告嵌入到 Java 或非Java 应用。
  • 可以导出多种格式的报告。
  • 开发人员可以通过多种方式提供数据。
  • 它可以生成覆盖在主图像上的水印。
  • 它提供了一套完整的 SOAP、REST 和 Web 服务。
  • 它允许您使用来自多个数据源的单个报告数据。

JasperReports 的生命周期

现在,在本 JasperReports 教程中,我们将了解 JasperReports 的生命周期。

以下是Jasper Reports生命周期的一般流程:

JasperReports 的生命周期
JasperReports 的生命周期

设计报告:

这是我们创建 JRXML 文件的第一步。该文件是一个简单的 XML 文档,用于定义报告布局。您可以使用任何文本编辑器或报告设计器来开发此文件。

但是,如果使用报表设计器,我们可以可视化报表的布局,而JRXML的真实结构应该被忽略。

编写报告:

在这个生命周期阶段,将编译在第一阶段构建的JRXML,并生成一个称为Jasper文件(带有jasper.xtn的文件)的二进制对象。

进行此编译是为了在执行过程中获得更好的性能。这些生成的 Jasper 文件应与您的应用程序一起发送以运行报告。

执行报告:

在此阶段,应用程序的数据被收集并填充到已编译的报告格式中。有一个名为 net.sf.jasperreports.engine.JasperFillManager 的类提供在报告中填充数据的功能。

输出将存储在 Jasper 打印文件(带有 jprint xtn 的文件)中,可用于打印或导出报告。

将报告导出为所需格式:

在最后阶段,您需要使用 JasperExportManager 类将之前创建的 Jasper 打印文件导出为任意格式。由于 Jasper 提供多种导出格式,我们可以使用相同的输入来创建数据的各种表示形式。

Jasper Reports 的功能

现在,我们将在本 JasperReports 分步教程中介绍 JasperReports 的功能。

以下是 Jasper Reports 工具的重要功能:

  • 提供灵活的报告布局。
  • 开发人员可以通过多种方式提供数据。
  • 它允许您接受来自多个数据源的数据。
  • 还可以应用水印。
  • 可以使用多个数据源来传输数据。
  • 您可以生成子报告
  • 它可以生成子报告。
  • 它可以帮助您导出多种格式的报告,例如 PDF、HTML、RTF、 Microsoft Excel文件。
  • 该引擎允许报告定义包含图表。

Jasper 与 Pentaho

现在,我们将在本 Jasper Reporting 教程中了解 Jasper 和 Pentaho 之间的区别。

Jasper 和 Pentaho 之间的主要区别如下:

参数 Jasper Pentaho的
业务报告 Jasper 使用报告来设计报告。 它使用了 Pentaho 报表设计器。
ETL 支持 Jaspersoft 使用 Talend Open Studio 版本进行 ETL 目的。 它默认使用 Pentaho Data Integrator ETL工具.
數據表 仪表板功能仅存在于 Jaspersoft 的企业编辑器中。 Pentaho 在其仪表板中提供了广泛的功能。
移动商业智能 Jaspersoft 也有更好的移动 BI。 Pentaho 使用需要依赖第三方工具来增强移动 BI 体验。
文件记录 更好的营销、网站和文档。 文档支持很差。
最大的特点 更容易研究并找到您所需内容。 提供数据挖掘和 iPhone 集成
付费版本 付费版本提供以下功能 即席查询 web Ul,仪表板创建 web Ul。 提供 LDAP 集成、SSO、审计等功能。

创建报告模板示例

现在,在本 JasperReports 教程中,让我们学习如何在 JasperReports 中创建报告模板。

JasperReports 中使用的报告模板文件是一个简单的 XML 文件,扩展名为 jrxml。此文件包含标签作为其根元素。JasperReports 框架可以处理不同类型的数据源。

报告模板的设计和创建采用以下两个步骤 -

步骤1) 在 Jaspersoft Studio 中创建 JRXML 文件。

  1. 转到文件选项。
  2. 选择新建子菜单
  3. 单击Jasper Report 选项。

创建报告模板示例

步骤2) 选择所需的模板。

  1. 选择您的模板,例如樱桃。
  2. 点击“下一步”按钮。

创建报告模板示例

步骤3) 选择父文件夹。

  1. 选择 MyReports 文件夹。
  2. 输入文件名,例如“Cherry Report”。
  3. 点击“下一步”按钮。

创建报告模板示例

步骤4) 在数据源窗口中, 点击“新建”按钮,创建新的数据适配器。

创建报告模板示例

步骤5) 选择数据适配器。

  1. 从列表框中选择数据适配器。例如,“Collection of Java豆子。”
  2. 点击“下一步”按钮。

创建报告模板示例

步骤6) 输入数据适配器详细信息并选择工厂类。

  1. 输入您的适配器的名称。
  2. 点击“...”按钮选择工厂类。

创建报告模板示例

步骤7) 输入前缀或模式。

  1. 输入名称前缀或模式。
  2. 单击匹配的项目。
  3. 点击“确定”按钮。

创建报告模板示例

步骤8) 定义工厂类并添加jar文件的路径。

  1. 输入工厂类中的静态方法的名称。在此 Jasper 报告示例中,此名称为 createBeanCollection。
  2. 如果你的 JavaBeans 定义有字段描述,并且您想在 Jaspersoft Studio 中使用这些作为名称,请选中使用字段描述复选框。
  3. 添加 jar 文件的路径。
  4. 点击“完成”按钮。

创建报告模板示例

步骤9) 点击“下一步”按钮。

创建报告模板示例

步骤10) 恭喜!您已成功添加所有必要的报告创建信息。单击“完成”按钮。

创建报告模板示例

将生成如下屏幕所示的报告。

创建报告模板示例

上述文件需要编译成JasperReport Binary格式,即所谓的jasper文件。

作为JasperReports库一部分的接口net.sf.jasperreports.engine.design.JRCompiler在该报表模板文件的编译过程中起着重要作用。

这个接口的实现可以写成 Java, JavaScript, Groovy或任何其他脚本语言。

您可以通过以下两种方法编译JRXML文件:

  • 程序化编译。
  • 使用 Apache ANT 任务进行编译。

了解不同的报告范围

以下是大多数商业报告生成工具采用的标准报告格式。

  • 檔案/文件名称
  • 页眉
  • 列标题
  • Detail
  • 列页脚
  • 页脚
  • 总结

让我们详细了解每个报告频段:

主题:

此栏显示在报告的开头。可以通过设置属性将其用作第一页 isTitleNewPage="true."

页眉:

页眉报告带显示在每页的开头。如果使用标题带,则不包括第一页;如果使用此摘要带,则不包括最后一页,并设置 isSummaryWithPageHeaderAndFooter="false.".

列标题:

列标题出现在每页的详细信息带之前。

详细介绍:

为提供的数据源中的每个记录迭代详细信息部分。它还允许有多个详细信息带(1、2 等)

列页脚:

此部分出现在每个有详细信息带的页面上的详细信息带下方。默认设置是页面末尾,但可以通过设置属性切换到最后一个详细信息带下方 isFloatColumnFooter=" true."

页脚:

此部分将显示在每页的末尾,不包括摘要带、标题带和最后的非摘要带。

最后一页页脚:

此部分出现在上一页(如果没有给出摘要带)中,代替正常页脚。

概要:

摘要部分仅出现在报告末尾的新页面上。当 isSummaryNewPage="true" 已设置,且页眉和页脚已设置 isSummaryWithPageHeaderAndFooter="true".

组标题:

仅当每次在详细带区之前组表达式发生变化时定义此部分时,才会出现。

群组页脚:

此部分仅显示详细信息带之后组表达式每次改变之前是否定义了一个组。

背景:

它显示在所有页面上,作为所有其他报告带的背景。

没有数据:

当没有传递数据源,或者数据源为空且设置了whenNoDataType=”NoDataSection”时,会出现此带区。

创建 JasperReports 时面临的挑战

以下是创建 Jasper 报告时将面临的一些挑战:

  • 核心变更 – 业务变更或增强。需要更改报告的核心逻辑。
  • 复杂的报告——子报告和交叉表报告就是很好的例子。
  • 图表报告或可视化图表,例如图形、XY线、饼图、条形图、时间序列和仪表图。

使用 Jasper Reports 的缺点

以下是使用 Jasper Reports 的缺点/不利之处。

  • 一旦开始对软件包的某些部分进行任何更改并删除某些功能,就很难恢复到默认软件包设置。
  • 它太死板了,编辑行和创建交叉表是一项具有挑战性的任务。
  • 一些常见任务,例如为分组报告指定小计,在其他两个报告设计器中更容易完成。
  • Jasper 要求您在运行报告之前对其进行编译。这意味着报告开发人员必须拥有完整的 Java SDK 已安装。
  • 有时当您编辑报告时,它不会显示与网络上显示的相同的预览。

总结

  • JasperReports 是一个开源 Java 报告引擎。这 Java 类库为您的应用程序提供报告功能。
  • Jasper Reports 为用户提供报告生成性能和交付。
  • Jasper Reports 生命周期包括 1) 设计报告、2) 编译报告、3) 执行报告和 4) 将报告导出为所需格式。
  • 在Jasper Reports中,您可以创建多个数据源来传输数据。
  • Jasper 和 Pentaho 之间的主要区别在于,Jasper 报告使用报告来设计报告,而 Pentaho的 使用 Pentaho 报表设计器。
  • JasperReports 中使用的报告模板文件是一个具有 jrxml 扩展名的简单 XML 文件。
  • 重要的报告带包括:1) 标题 2) 页眉 3) 列眉 4) 详细信息 5) 列页脚 6) 页脚和 7) 摘要。
  • 使用Jasper Reports最大的挑战是,如果业务逻辑发生变化,您就需要改变报告的核心逻辑。
  • Jasper Reports 的最大缺点是,当您对包的某些部分进行任何更改时,很难恢复到默认包设置。