首页 > 编程笔记 > 通用技能 阅读:2

JasperReports下载和使用教程(附压缩包,非常详细)

JasperReports 是一套“把数据变成漂亮报表”的开源 Java 引擎,名字来源于一种可以呈现纹理的宝石。

JasperReports 自己不保存数据,也不负责录入,而是像一位“排版机器人”,你告诉它数据源在哪、想展示什么格式,它就能把结果套进提前画好的模板,最终输出 PDF、Excel、Word、HTML、PowerPoint 甚至纯文本。

对刚接触报表的新手而言,可以把 JasperReports 理解成“程序里的 Word 邮件合并”,先画好表格、放上 Logo,再把数据库字段拖进去,一键就能生成 1 万页带目录、页码、图表的正式报告,而且字体、颜色、分页、条形码、子表、交叉表都能精确控制,不会出现“复制粘贴到手酸”的惨剧。

JasperReports 的应用场景覆盖财务、电信、制造、医疗、电商、政府等各行各业:
JasperReports 完全由 Java 写成,可以用于在各种 Java 应用程序,包括 J2EE,Web 应用程序中生成动态内容。只需要将 JasperReports 引入工程中即可完成PDF报表的编译、显示、输出等工作。

下载JasperReport

这里为大家提供了 JasperReports 最新版的安装包:

网盘下载:https://pan.quark.cn/s/52459501ec07

除了 JasperReport 的安装包外,还提供了 Jaspersoft Studio 的安装包。

Jaspersoft Studio 是 JasperReports 库的开源报表设计工具,使用该软件可以方便地对报表进行可视化的设计,设计结果为格式 .jrxml 的 XML 文件,并且可以把 .jrxml 文件编译成 .jasper 格式文件方便 JasperReports 报表引擎解析、显示。

Jaspersoft Studio 的安装过程非常简单,全程“傻瓜式”操作,一直 Next(保持默认设置)就可以安装成功,这里不再演示。

JasperReports入门案例

实现下图所示的目标:


实现步骤如下:
1) 创建新模板,删除不需要的 Band:


2) 画边框和线:


3) 添加几个静态的文本:


4) 添加变量:


5) 在右下角修改变量名称:


6) 使用变量:


7) 实现效果如下图所示:

8) 环境准备,先引入依赖:
<dependency>
   <groupId>net.sf.jasperreports</groupId>
   <artifactId>jasperreports</artifactId>
   <version>6.16.0</version>
   <exclusions>
       <exclusion>
           <groupId>com.lowagie</groupId>
           <artifactId>itext</artifactId>
       </exclusion>
   </exclusions>
</dependency>
<dependency>
   <groupId>com.lowagie</groupId>
   <artifactId>itext</artifactId>
   <version>2.1.7</version>
</dependency>

9) 准备中文字体资源文件。jasperReports 本身对中文的支持不够好,所以如果涉及到中文,需要自己准备中文的资源,现在以“华文宋体为例”,ttf 字体文件位置:C:\WINDOWS\Fonts。

fonts.xml:
<?xml version="1.0" encoding="UTF-8"?>

<fontFamilies>
    <fontFamily name="华文宋体">
        <normal>stsong/stsong.TTF</normal>
        <bold>stsong/stsong.TTF</bold>
        <italic>stsong/stsong.TTF</italic>
        <boldItalic>stsong/stsong.TTF</boldItalic>
        <pdfEncoding>Identity-H</pdfEncoding>
        <pdfEmbedded>true</pdfEmbedded>
        <exportFonts>
            <export key="net.sf.jasperreports.html">'华文宋体', Arial, Helvetica, sans-serif</export>
            <export key="net.sf.jasperreports.xhtml">'华文宋体', Arial, Helvetica, sans-serif</export>
        </exportFonts>
    </fontFamily>
</fontFamilies>

jasperreports_extension.properties:
net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.lobstertwo=stsong/fonts.xml

10) 测试效果如下图所示:

相关文章