Jasperreport
Jasperreport
- Demonstration: Jasperreport
- Java API: Jasperreport
- JavaScript API: Jasperreport
- Style Guide: N/A
- Available for ZK:
Employment/Purpose
The JasperReport component is based on JasperReports Library, a report generator (e.g. XML generator, PDF generator etc.). This component is used to generate a Jasper report into an inline frame.
Including Dependency
Since 9.6.0 ZK doesn't include jasperreports by default. If you need to use this component, you have to include the dependency manually like:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.17.0</version>
</dependency>
3rd Party Vulnerability Notice
There are some vulnerabilities reported on org.bouncycastle:bcprov-jdk15on
, a dependency coming from itext 2. If you are concerned, you can exclude that dependency without affecting this component's PDF exporting feature. Alternatively, Jasperreport does provide an add-on allowing you to use itext 7, for more information please check JasperReports PDF Exporter Lib Seven.
Example
<jasperreport id="report" height="360px" />
<zscript>
import org.zkoss.zkdemo.userguide.CustomDataSource;
//Preparing parameters
Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
parameters.put("DataFile", "CustomDataSource from java");
report.setSrc("/data/jasperreport.jasper");
report.setParameters(parameters);
report.setDatasource(new CustomDataSource());
report.setType("pdf");
</zscript>
Provide Export Parameters
The Jasperreport component API provides a way to specify export parameters. To do so, you should put a Map containing export parameters within the parameters Map, with key "exportParameter"
. For example:
Map parameters = new HashMap();
Map exportParams = new HashMap();
exportParams.put("net.sf.jasperreports.export.mypropertyname", true);
parameters.put("exportParameter", exportParams);
report.setParameters(parameters); // report is the Jasperreport component
One-Page-Per-Sheet Property
In Jasperreport engine, this property is default to be false. However, the default behavior is turned on in the Jasperreport component, in which case when the report is exported as Excel format there will be one sheet generated for each page. To override this setting, set it as an export parameter as the following:
Map parameters = new HashMap();
Map exportParams = new HashMap();
exportParams.put(JRXlsAbstractExporterParameter.PROPERTY_ONE_PAGE_PER_SHEET.toString(), false);
parameters.put("exportParameter", exportParams);
report.setParameters(parameters); // report is the Jasperreport component
exportName
Since 8.6.1
You can specify the export file name for the download if any, the full file name will be exportName + "." + format.
Note: exportName can not be empty or null.
Default: "report"
<jasperreport exportName="test"/>
Supported Events
None | None |
- Inherited Supported Events: Iframe
Supported Children
*NONE
Supported Type
Usage
Java Code
//Jasperreport report;
report.setType("pdf"); // report is the Jasperreport component
Zul Code
<jasperreport id="report" type="pdf" />
Type List
Type | Version |
---|---|
xml | |
html | |
rtf | |
xls | |
jxl | |
csv | |
odt | |
xlsx | Since 5.0.8 |
docx | Since 5.0.8 |
graphic2d | Since 5.0.8 |
ods | Since 5.0.8 |
pptx | Since 5.0.8 |
txt | Since 5.0.8 |
xhtml | Since 5.0.8 |
Supported JasperReport Version
ZK | JasperReport | Transitive Dependency |
---|---|---|
9.6.0 | 6.14.0 | optional (net.sf.jasperreports:jasperreports needs to be added manually on demand) |
9.5.0 | 6.14.0 | added by default |
9.0.0 | 6.6.0 | added by default |
8.6.0 | 6.5.1 | added by default |
7.0.0 | 4.5.1 | added by default |
6.0.0 | 4.0.1 | added by default |
Use Cases
Version | Description |
---|---|
5.0.2 | How to use Dynamic Jasper Reports |
6/5.0.8 | Create a Report with ZK using iReport and JasperReports |
Troubleshooting
Linux
Jasperreport depends on the fonts you use in the report. For more information, please refer to ZK Installation Guide: Linux.
Version History
Version | Date | Content |
---|---|---|
5.0.1 | March 2010 | Support Hibernate and SQL connections |
5.0.8 | Upgrade JaserReport version to 4.0 and support new JasperReport exporter |