使用 ReportTemplate 创作 Jasper 报告
与 Jasper Studio 集成
Jasper 报告库是一个开源报告库,可基于设计文件 (.jrxml) 生成报告。设计文件是在 Jasper Studio 中执行的所有创作和设计的 XML 表示。JRXML 文件会自动捕获拖放到设计中的任何图表、表格或其他元素。Jasper Studio 是一个基于 Eclipse 的创作平台,通过该平台可创建 Jasper 设计。
|
可以将 Jasper Studio 配置为 Eclipse IDE 插件。
|
在 Jasper Studio 中集成 WINDCHILL JAR 文件的步骤:
1. 创建新的 JasperReports 项目。
2. 在项目特性窗口中打开 Java 构建路径,然后将 Windchill 中的 dataset.jar 添加到该构建路径中。数据集 jar 将日期时间作为后缀,例如:dataset30112020105242.jar。
3. 针对 Jasper 项目执行 > 步骤。
4. 将 dataset.jar 添加到 Jasper Studio 目录下的 {STUDIO_INSTALLATION_DIR}\plugins 文件夹中,如下所示。此操作为必需的,由于 Jasper Studio 的 PREVIEW 功能具有自己的类路径,因此可从插件文件夹中读取 JAR 文件。
5. 重新启动 Jasper Studio。
在 Jasper Studio 中创作
在 Windchill 与 Jasper Studio 的集成过程中,实现 WNCJRDataSource 后,可通过 ReportTemplateJRDataSource 提供对报告模板的支持。
Jasper 报告的创作步骤如下所示:
1. 应在 Jasper Studio 中配置 Jasper 项目。右键单击 Project 和 Jasper Report 选项。
2. 为 Jasper 文件指定一个名称,然后单击 Next。
3. 要创建空记录适配器,请选择 > > 。
4. 项目 Outline 不包含任何 Fields。
5. 通过 Design 面板的 Basic Elements 选项板,将 Table 元素拖动到 Design 编辑器的详细信息区域。
6. 在 Table Wizard 中,选择 "Create a Table using a new dataset" 选项,然后单击 Next。您可以为同一 Jasper 设计定义多个数据集或多个报告模板。每次创建新数据集时,先前在 Jasper 设计中创建的数据集将作为附加选项显示在向导中。
7. 在 Dataset 向导中,您可以选择从给定源创建数据集,然后选择 Create new dataset from a connection or Data Source 并指定数据集名称。单击 Next。
8. 在 Dataset Wizard 中,单击 New 以基于所需的报告模板创建适配器。或者,基于报告模板选择一个现有的适配器。
9. 在 Data Adapter Wizard 中,单击下面突出显示的选项,然后单击 Next。
10. 为适配器提供一个名称,然后单击 Finish。
11. 在 Open Type Wizard 中,选择所需的报告模板提供者类,如下所示。PartReportTemplate 可用,将其选中,然后单击 OK。
12. 在 Data Adapter Wizard 中,验证类名称和适配器名称,然后单击 Finish。
13. 此时,在 Data Source Wizard 中,新建的适配器会显示为默认选择。单击 Next。
14. 在 Fields Wizard 中,选择报告模板的所有或相关字段并将其从 Dataset Fields 移至 Fields 部分,然后单击 Finish。
15. 导航到报告项目的 > > 中。在表格中创建列,以便可将所有创建的字段均按如下所示放置到每一列中。
16. 创建列后,可将 Fields 拖动到 Table 的每一列。
17. 要添加字段,请单击 > > > 。选择 Use a JRDatasource expression,然后单击“编辑”图标。在 Expression Editor Wizard 中,编辑 ReportTemplateJRDataSource 表达式。为其提供构造函数定义,在此将报告模板名称作为第一个强制参数,将容器路径作为第二个参数 (例如指向容器路径 wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=GOLF_CART),如果未指定容器路径,则默认 Windchill 容器路径将用于定位给定的报告模板。
18. 在 Expression Editor Wizard 中,编辑 ReportTemplateJRDataSource 表达式以指定报告模板名称、容器名称和容器类型。例如:("PartReportTemplate"、"Site"、"Site")。单击 Finish。
19. 验证数据集特性是否已更新为包含已修改的表达式。
20. 右键单击数据集,然后选择 Dataset and Query。
浏览至 Dataset and Query Dialog,将 Language 从 sql 替换为 csv。单击 OK。
21. 在 Jasper Studio 窗口中,单击 Save。要查看报告的预览,请单击 Preview。
Prog-Example:
报告名称 | JRXML 位置 | 加载程序位置 | 输入 JSP 位置 | 必需的 Reporttemplate QML 位置 | Criteriapage 位置 |
DemoReportObject | <$WT_HOME> /prog_examples/JasperIntegration /JasperReports/Sample/DemoReportObject.jrxml | <$WT_HOME> /prog_examples/JasperIntegration /loadFiles/reports/jasper/loadDemoReportObject.xml | <$WT_HOME>/prog_examples/JasperIntegration/netmarkets/jsp/report/jasper/demoInputPage.jsp | <$WT_HOME>/prog_examples/JasperIntegration/loadFiles/reports/jasper/DocumentReportTemplate.qml <$WT_HOME>/prog_examples/JasperIntegration/loadFiles/reports/jasper/PartReportTemplate.qml <$WT_HOME>/prog_examples/JasperIntegration/loadFiles/reports/jasper/PartStateCount.qml | |