以下内容,仅做学习交流记录。
一、jasperreport基于eclipse的安装
eclipse版本为2019.06版,jasperreport版本为6.13.0版
安装过程如图所示:
安装完成之后出现如下图所示即表示安装成功
二、在项目中的使用
1、pom文件引入
<!-- https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.13.0</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
<scope>compile</scope>
</dependency>
注意:此处itext一般下载会不成功,需要手动下载itext-2.1.7.jar,安装至maven仓库。
安装代码如下:mvn install:install-file -Dfile=D:/myfont/itext-2.1.7.jar -DgroupId=com.lowagie -DartifactId=itext -Dversion=2.1.7.js7 -Dpackaging=jar
2、建立报表文件,在resources文件夹下建立jaspers文件夹用于存放报表文件,如图所示:
报表的创建及样式布局请自行百度。
建立的报表文件downholeAttendance.jrxml的代码:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.13.0.final using JasperReports Library version 6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="downholeAttendance" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="c7eb1c7d-1ce3-4e9d-aeb1-a8b2a22d78b0">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="uwb_db"/>
<parameter name="whereSql" class="java.lang.String"/>
<queryString language="SQL">
<![CDATA[SELECT * FROM
uwb_1_1_develop.`B_DW_DownholeRecord`
$P!{whereSql}]]>
</queryString>
<field name="Id" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="Id"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="UserId" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="UserId"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="UserName" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="UserName"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="CardNum" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="CardNum"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="X" class="java.math.BigDecimal">
<property name="com.jaspersoft.studio.field.label" value="X"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="Y" class="java.math.BigDecimal">
<property name="com.jaspersoft.studio.field.label" value="Y"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="Post" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="Post"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="DepartmentName" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="DepartmentName"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="DepartmentId" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="DepartmentId"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="Status" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="Status"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="WorkNum" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="WorkNum"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="DownholeTime" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="DownholeTime"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="UpholeTime" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="UpholeTime"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="DownholeDuration" class="java.math.BigDecimal">
<property name="com.jaspersoft.studio.field.label" value="DownholeDuration"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="CreatePersonId" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="CreatePersonId"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="CreatePerson" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="CreatePerson"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="CreateDepartmentId" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="CreateDepartmentId"/>
<property name="com.jaspersoft.studio.field.tree.path" value="B_DW_DownholeRecord"/>
</field>
<field name="CreateDepartment" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label"