如果你还不知道jasperreport和ireport,那你可以参考我的上一篇文章,或者谷歌百度一下。好了,废话少说,Let’s start,Go!
我的环境是iReport3.0+JDK6.0。
先看看效果。
1) 准备数据源,这里使用XML文件(使用UTF8编码)作为数据源。
1
<?
xml version="1.0" encoding="utf-8"
?>
2
<
NameList
>
3
<
Person
>
4
<
Name
>
强尼
</
Name
>
5
<
Gender
>
男
</
Gender
>
6
<
Age
>
56
</
Age
>
7
</
Person
>
8
<
Person
>
9
<
Name
>
阿美
</
Name
>
10
<
Gender
>
女
</
Gender
>
11
<
Age
>
23
</
Age
>
12
</
Person
>
13
<
Person
>
14
<
Name
>
李丽
</
Name
>
15
<
Gender
>
女
</
Gender
>
16
<
Age
>
58
</
Age
>
17
</
Person
>
18
<
Person
>
19
<
Name
>
杰森
</
Name
>
20
<
Gender
>
男
</
Gender
>
21
<
Age
>
32
</
Age
>
22
</
Person
>
23
<
Person
>
24
<
Name
>
刘三
</
Name
>
25
<
Gender
>
男
</
Gender
>
26
<
Age
>
21
</
Age
>
27
</
Person
>
28
</
NameList
>
2) 打开iReport,新建一个空的模版文件。
3) 加入一个静态文本(StaticText),右击属性(Property),编辑字体属性和内容。关于Font Name 属性和PDF Font Name属性需要PMingLiu字体(下载
)(将PMingLiu字体放在ireport安装目录的font文件夹下)或者你可以选择其他字体,例如宋体,PDF Font Name 选
STSong-Light。
4) 接下来就要做表格部分,新建一个子报表(subreport),除了第二步选择No Connection or datasource,基本上只要点Next就行了。
5) 完成上一步后就会跳到子报表NameList_subreport0的视图,其实子报表也是一个独立的报表。但是你现在只能看到一个叫Detail的区域(band)。我们还需要更多的区域来结合完成表格的制作。调出区域管理器(菜单View->Bands),将column header 和column footer的高度(height)设为20.
6) 在column header加入三个静态文本(StaticText),字体属性和之前的一样,分别加入内容姓名,性别,年龄。在detail区域加入三个文本(textField),在column footer加入一个文本,字体属性和StaticText保持一样。然后设置所有静态文本和文本的边框,如图。现在的textField都是没有数据的,那么怎么填充数据呢?现在我们来看怎么配置数据源和填充数据。
7) 菜单data->connections/datasource,新建一个XML datasouce,目录位置指向之前建立的XML文件。选择Use the report Xpath xpression when filling the report.
8) 打开NameList模版,菜单data->report query,配置XPATH如图。
9) 配置NameList模板的subreport, 編輯屬性Connection/Data Source Expression,輸入 ((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).dataSource("/NameList /Person")。这一步主要是将数据源传给子报表。
10) 打开NameList_subreport0模板,先配置XPATH,然后右击节点Name,选Add node as field.同样将Gender和Age节点加入field。点OK。然后你可以看到左边的结构视窗多了三个Field。
11) 编辑Table里的文本(textfield),右击选Edit Expression,输入表达式(Field的表达式,$F{Field_Name})。$V{REPORT_COUNT}是jasperreport 内建的变量,用于计算detail区域的行数。
12) 保存模板,菜单build->Compile,编译两个模板。打开NameList模板,带数据源运行(build->Execute with active connection)。大功告成。
写这篇东西花了大半天,有兴趣的同志可以下载源代码看看。点击下载
分享到:
相关推荐
4.1. JasperReport 和iReport的介绍... 2 4.1.1. JasperReport 简介... 3 4.1.2. iReport 简介... 3 4.1.2.1. iReport几个重要的概念... 3 4.1.2.2. iReport数据库连接的建立 DataSource. 5 4.2. 创建报表(以几个...
使用JasperReport和iReport制作java报表
springmvc框架整合jasperreport和ireport简单易用,框架清晰,maven仓库
本报表在jasperreports-5.6.0基础上增加以下功能; 1、 表头固定 2、 列的隐藏及显示 3、 列的固定 示例代码可正常运行、本代码为非正式版
学习Jasperreport和ireport的好资料!
ireport 也是开源组织sf.net 中的一款免费软件,其主要作用是用来以可视化的方式设计 生成jasperreport 所使用的报表格式文件,因为jasperreport 本身并未提供很好的可视化报 表设计工具,ireport 的出现...
使用JasperReport+iReport进行WEB开发,是这篇文章http://blog.csdn.net/tch918/article/details/12200607的源码
ireport+jasperReport报表所需jar包,参照:https://blog.csdn.net/weixin_44594041/article/details/109486154
如何使用IReport制作JasperReport报表, 包含三份: 1.jasperreportireport中文指南.pdf 2.JasperReports结合iReport制作报表教程.pdf 3.the_definitive_guide_to_ireport.7759101961.pdf.
JasperReport与Ireport的配置与使用.pdf
iReport+JasperReport柱状图 iReport+JasperReport柱状图 iReport+JasperReport柱状图
jasperreport中文资料——梧桦椰枫(收集).zip
JasperReport 与 iReport 的配置与使用.pdf;作者:裴贺先 ...第一章:JasperReport 与 iReport 简介 第二章:安装与配置 第三章:iReport 的使用 第四章:JasperReport 在程序中的应用 第五章:参考信息及其他
NULL 博文链接:https://hfj-cxy.iteye.com/blog/970744
学习完jasperreports+ireport,给我感觉深刻,不仅掌握了报表开发技术,还掌握了如何在web中生成pdf,xls,rtf文件,以下是jasperreports+ireport开发知识点: 1.字段,变量,参数,传参 2.矢量图,位图 3.超链接,锚 4.数据源,...
第一章_JasperReport_与iReport教程
iReport+jasperReport之客户端打印 数字签名
jasperreport iReport详细中文文档 jasperreport iReport中文开发
51.打印时经常遇到翻页打印,而且每一页打印的内容不一致,iReport如何实现此功能? 50.iReport中的子报表如何实现根据其上部是否有打印数据而变打印位置? 49.iReport中当单元格中的文字出现换行跨页的情况,如何...
NULL 博文链接:https://hewei5894.iteye.com/blog/1744757