玩转 Jasper Report(1) Jaspersoft Studio 安装使用教程
文章目录
- 1 摘要
- 2 Jaspersoft Studio 下载安装
- 3 导出PDF的完整示例
- 4 当前示例的 jasper 源码
- 5 推荐参考资料
1 摘要
Jasper Report 作为一个老牌的报表导出工具,具有集成度高、使用方便的特点。支持可视化拖拽操作。本文将介绍如何使用 Jasper 客户端 Jaspersoft Studio 导出 PDF。
必要环境参数:
JDK 1.8+
2 Jaspersoft Studio 下载安装
官网下载: https://community.jaspersoft.com/project/jaspersoft-studio/releases
第三方站点: https://sourceforge.net/projects/jasperstudio
官网需要注册账户,第三方不需要
3 导出PDF的完整示例
(1) 打开 Jasper Studio 软件,点击「新建图标」倒三角选择新建「Project」
(2) 选择新建 「JasperReports Project」,单击「Next」进入下一步
(3) 创建项目名称(英文与数字组合,不要包含中文),然后点击「Funish」完成
(4) 右键创建的项目名称,选择「Jasper Report」
一个项目支持多个模板
(5) 在弹出框中选择「Blank A4」 空白的A4模板,然后点击「Next」进入下一步
(6) 给模板起名,然后点击「Next」进入下一步
(7) 选择是否连接数据库
Jasper Studio 有两种模式,一种是连接数据库,直接从库中读取数据导出;另一种是无数据源的空白页导出,可根据需要进行选择;
这里以不连接数据库为例
(8) 点击「Funish」完成模板创建
(9) Jasper Studio 操作界面简介
(10) 拖动组件,开始布局
(11) 定义参数。右键「Parameters」,选择「Create Parameter」
(12) 设置参数名称和对应的Java类型
定义好的参数也可以直接拖动至布局界面
(13) 设置参数格式
通常日期、金额等需要设置指定的格式
(14) 打印预览。点击「Preview」进行预览,点击上方的执行按钮可解析文中设置的参数
(15) 导出PDF。点击保存旁边的倒三角符号,即可选择导出的格式,选择PDF即倒出为PDF文档
4 当前示例的 jasper 源码
点击设计界面下方的「Source」按钮,即可显示当前设计文档的源码,全选复制出即可
本示例的源码为:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.16.0.final using JasperReports Library version 6.16.0-48579d909b7943b64690c65c71e07e0b80981928 -->
<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="demo1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="a8a25ce3-8f10-4c23-8301-3e6f91200ff1">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<parameter name="score" class="java.lang.Integer">
<parameterDescription><![CDATA[得分]]></parameterDescription>
</parameter>
<parameter name="amount" class="java.math.BigDecimal">
<parameterDescription><![CDATA[金额]]></parameterDescription>
</parameter>
<queryString>
<![CDATA[]]>
</queryString>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="80" splitType="Stretch">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<staticText>
<reportElement x="150" y="15" width="405" height="50" uuid="f5a1f402-29a5-45d9-be9e-0d5111367660">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="20"/>
</textElement>
<text><![CDATA[这是一个PDF导出示例文档]]></text>
</staticText>
<componentElement>
<reportElement x="0" y="0" width="120" height="80" uuid="0861800b-4755-407c-ab4d-4ea2f76b0f56">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<jr:QRCode xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<jr:codeExpression><![CDATA["Hello World"]]></jr:codeExpression>
</jr:QRCode>
</componentElement>
</band>
</title>
<detail>
<band height="700" splitType="Stretch">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<staticText>
<reportElement x="0" y="0" width="550" height="300" uuid="582c96dc-c028-4e92-88f3-f1cfc0c32f11">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.firstLineIndent" value="px"/>
<property name="com.jaspersoft.studio.unit.spacingAfter" value="px"/>
</reportElement>
<textElement>
<font size="16"/>
<paragraph lineSpacing="1_1_2" lineSpacingSize="1.0" firstLineIndent="10" spacingAfter="10"/>
</textElement>
<text><![CDATA[JasperReports Server is a stand-alone and embeddable reporting server. It provides reporting and analytics that can be embedded into a web or mobile application as well as operate as a central information hub for the enterprise by delivering mission critical information on a real-time or scheduled basis to the browser, mobile device, or email inbox in a variety of file formats. JasperReports Server is optimized to share, secure, and centrally manage your Jaspersoft reports and analytic views.
从前有座山.山里有座庙.庙里有个老和尚和小和尚.老和尚对小和尚说:“从前有座山.山里有座庙.庙里有个老和尚和小和尚.老和尚对小和尚说:"从前有座山.山里有座庙.庙里有个老和尚和小和尚.老和尚对小和尚说:……”
]]></text>
</staticText>
<textField pattern="yyyy-MM-dd HH:mm:ss">
<reportElement x="80" y="350" width="200" height="30" uuid="5d3db036-b3cb-4978-bcda-82641f27057e">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font size="16"/>
</textElement>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="350" width="80" height="30" uuid="dc3d91cd-1fad-4768-ab9f-c05d9ca36837">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="16"/>
</textElement>
<text><![CDATA[当前时间:]]></text>
</staticText>
<staticText>
<reportElement x="0" y="380" width="80" height="30" uuid="22af01b1-a7a1-4af5-9648-e60c975fec6e">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font size="16"/>
</textElement>
<text><![CDATA[得分:]]></text>
</staticText>
<textField>
<reportElement x="80" y="380" width="200" height="30" uuid="f3e787ca-5972-48f3-8b26-e0fb1dfed3f5">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font size="16" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{score}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="410" width="80" height="30" uuid="e9cc6eb8-0881-4ffc-a300-327efdf74e25">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font size="16"/>
</textElement>
<text><![CDATA[金额:]]></text>
</staticText>
<textField pattern="#,###.000000">
<reportElement x="80" y="410" width="200" height="30" uuid="0b7c3589-0309-43af-8c5b-dcc13447af3f">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font size="16"/>
</textElement>
<textFieldExpression><![CDATA[$P{amount}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
至此,Jasper Report 的入门教程已经完成
5 推荐参考资料
Jaspersoft Studio 可视化编辑器下载
TIBCO Jaspersoft Studio 报表软件使用教程
How do I format a number as 2.564.894.621 in JasperSoft Studio?
CSDN-Ada助手: 不知道 网络 技能树是否可以帮到你:https://edu.csdn.net/skill/network?utm_source=AI_act_network
来颗仙人掌吃吃: 楼主给代码的时候应该给一个小demo这种,然后给这么多东西,然后代码又不完整
笔墨画卷: 服务网关里的restful接口,过滤器不拦截吗?
404!: [{"args":{"- Path":"/cloud-alibaba-server-consumer/**"},"name":"predicates"}] 请问下网关添加路由报错Unable to find RoutePredicateFactory with name predicates 这种格式哪里问题
豢龙先生: WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by nu.pattern.OpenCV$SharedLoader (file:/D:/repository/org/openpnp/opencv/4.9.0-0/opencv-4.9.0-0.jar) to field java.lang.ClassLoader.usr_paths WARNING: Please consider reporting this to the maintainers of nu.pattern.OpenCV$SharedLoader WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 这个警告是什么原因呢?