java ireport pdf_报表 PDF Java报表 JasperReports IReport

iReport也是开源组织sf.net中的一款免费软件,是为JasperReport设计的强大的,直观的,易于使用的可视化报表设计器,采用纯Java开发。这个工具允许用户可视化编辑包含charts、图片、子报表等的复杂报表。iReport 还集成了JFreeChart图表制作包,允许用户可视化地编辑XML(JasperDesign)文件。用于打印的数据可以通过多种方式获取包括:JDBC,TableModels, JavaBeans, XML,Hibernate(支持HQL查询语言), CSV等。它支持多种输出格式包括:PDF,RTF,XML,XLS,CSV,HTM。

iReport报表绘制

不同版本的iReport在界面上会存在一些差异,以下文档基于iReport-5.6.0编写

1) 新建报表

【文件】à【New…】

8e6a35d2008141db7664cd3922316458.png

选择一个模版,【Openthis Template】

010b904d1741ccd27fdff6f026acbea3.png

通过【Browse】选择文件保存位置,并填写报表名称【Report name】

8b5113a2a95038f1355a6190163ade5b.png

完成

df9c9fb4cd51040890e916ee19592059.png

2) 创建Database Sources

点击【ReportDatasources】图标

2f38b928e8dd775b57216016f953b0a7.png

【New】

ca877d37051c540f885f3a8bf1bd4ae9.png

选择一个datasourcetype,这里选【Database JDBC connection】

26a18267d74f6b077de9f3f42ce1c9b5.png

填写数据库连续的相关信息,并保存

6b8bf055e9efbbaec068554840fb4ce4.png

勾选默认Datasources,并关闭窗口

dfba0d560097da31b0e517999847c8f0.png

3)设置报表主要SQL

613c59411b5269b54af5b17eecc702a6.png

输入主要SQL,相应的结果集的列会出现在下方

93348c627a407c5a742e5d70adc995ff.png

4) 报表结构

be7c808bf6a41d90d007a25ded9e5bcf.png

5) 在Detail中使用SQL结果

eda55748aca9a64626c90faf60214082.png

6) 使用iReport内置变量

80ec6a97bc73b2eb0bff4f5d39e41a79.png

7) 使用报表外部参数

右键【Parameters】,选择【添加Parameter】

539cb6729e13b5c837443d4ca1579ecd.png

通过右侧的【属性面板】修改参数名称,并拖动到报表中

37886ad8107918086129b0fa2b087e43.png

8) 使用Dateset 创建汇总报表 (次要SQL)

右键【报表名称】(比如report_test002),选择【Add Dataset】

f6e625126faf00b7935dc2d46c18a041.png

填写Dataset名称,【下一步】

288b0314a996a76bf16966906c7974d1.png

选择DataSources,并填写SQL语句

3fdbdb4071ee7374efdc44e0f4d3ba2b.png

选择要使用的列,并【下一步】

db71b7a8dbb8980c20cd8411be81e125.png

使用Group组自动Group up,也可通过SQL进行Group up

4d9b18864993e20479e09c8c44be9509.png

通过【窗口à组件面板】打开组件面板

8ff8f22ae5f85072fece13b199431181.png

拖动Chart图标到报表中

111b4d89b13eab04a0a75790d12dd7f8.png

选择一个图表类型,【OK】

32f5af40385ffe1a1715f77f3b8926a7.png

选择要使用的DataSet(比如上文刚刚创建的myDataSet1)

b8d31bb27442351c36c9eeb2d0e9edbe.png

填写Series描述

4bd7353de8f5578ad8568f8f163ffe82.png

通过右侧按钮填写横坐标分组组名,即分组值

2095eba77e0dd850291c870bb37a58e0.png

9) 预览报表

通过【预览】图标查看报表结果

c24eeab3995b54ea8d0d9be69b1678fa.png

如果有外部参数,将会弹出提示框要求录入

a54549cb231321ccce224c8307b6ee82.png

看到报表结果,可以通过【Designer】图标返回到设计界面

38c84baeb9235c512de6a835aa63c6a8.png

10)编译报表

通过【编译】图标,可以对报表进行编译

85b7b52820bd464cc16a6438c44e321d.png

编译后,同个目录下,可以找到编译后的文件:

比如,report_test002.jasper

接入到Spring mvc项目中

由于jasperreports的主包,直接用gradle去maven repository拿会出现olap4j.jar找不到的问题。所以,这里直接去jasperreports的官网下载 http://community.jaspersoft.com/project/jasperreports-library

然后将olap4j-0.9.7.309-JS-3.jar和jasperreports-6.2.1.jar 放到项目里面的文件夹(新建lib/jasperreports文件夹),再在gradle的build文件里面进行配置,如下:

fileTree(dir: "${rootProject.projectDir}/lib/jasperreports", include: '*.jar'),

"commons-digester:commons-digester:1.7",

"org.codehaus.groovy:groovy-all:2.4.7",

"com.lowagie:itext:4.2.1",

"com.itextpdf:itextpdf:5.4.3",

"com.itextpdf:itext-asian:5.2.0",

这里凭证完成后,还会出现中文不显示的问题,jasperreports6之前的版本用itext-asian.jar就可以解决,但是6.0以上的就只能手动添加字体问题,步骤如下:

找到刚刚下载的jasperreports-6.2.1.jar,用解压工具查看字体目录(jasperreports-6.1.1\demo\fonts\net\sf\jasperreports\fonts\dejavu),将下载好的simsun.ttf和simsun.ttc文件copy到dejavu目录,并修改fonts文件夹下的jasperreports-fonts.xml文件。加入下列配置(用IReport设计报表时,font name要设置成“宋体”):

net/sf/jasperreports/fonts/dejavu/simsun.ttfnet/sf/jasperreports/fonts/dejavu/simsun.ttfnet/sf/jasperreports/fonts/dejavu/simsun.ttfnet/sf/jasperreports/fonts/dejavu/simsun.ttfIdentity-Htrue'宋体', Arial, Helvetica, sans-serif'宋体', Arial, Helvetica, sans-serif

JAVA代码如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值