jaspersoft+iReport+Designer+4.5.0教程

合集下载

JasperReport 与iReport 的配置与使用

JasperReport 与iReport 的配置与使用

JasperReport 与iReport 的配置与使用1.JasperReport 与iReport 简介1.1 JasperReport 简介JasperReport 是一款报表打印组件,是开放源代码组织 中的一个java 报表打印工程,在我写这篇文章时,JasperReport 的最新版本是0.5.2 版,JasperReport 的最新版本可以从/index.html 下载得到。

JasperReport 适合用来做WEB 应用程序与Java Application 的报表打印组件,而且关键的一点是:JasperReport 是免费的!1.2 iReport 简介iReport 也是开源组织 中的一款免费软件,其主要作用是用来以可视化的方式设计生成JasperReport 所使用的报表格式文件,因为JasperReport 本身并未提供很好的可视化报表设计工具,iReport 的出现正好弥补了这个缺陷。

本文写作时的iReport的最新版本是0.3.0,iReport可以从 下载得到,注意下载的iReport 一定要与你所使用的JasperReport 版本相匹配,当然您也可以更新iReport 中所使用的JasperReport 组件,后面的文章中会有详细的介绍。

2.安装与配置2.1 JDK 的安装与配置2.1.1 JDK 的下载与版本选择JDK的最新版本可以从SUN的官方网站上下载得到, JDK 共分为3 个版本,J2ME,J2SE,J2EE,因为是在计算机上使用,我们需要下载使用 J2SE SDK,如果您的计算机是用来做软件开发,需要下载J2SE SDK,如果是用来运行已经编译好的JAVA 程序的,可以只下载J2SE JRE 即可。

下载JDK 时SUN 公司会要求你同意一个JDK 的使用许可协议,选接受协议后,会出现选择适合不同的操作系统平台使用的JDK 版本选择的界面,您可以根据自己使用的操作系统平台选择适合的JDK 版本。

Jasper + ireport 集成报表到Web应用,操作说明

Jasper + ireport 集成报表到Web应用,操作说明

北京xxxxxxxxx公司JasperReport + ireport集成报表到Web应用操作说明郝建柱2011/2/24第一部分,下载与安装Ireport官网:/,从这里可以下载到下载后的文件名安装:没什么注意的,一路回车就好了第二部分,ireport与JasperReport简单说明1,ireport,是一个制作报表的工具,用其设计报表样式2,JasperReport,是在程序里操作ireport报表的一套类库先简单介绍,以下详细说明第三部分,使用ireport制作报表以ireport3.7.6为例,依次选择“文件–》New…”出现下图在接下来出现的对话框中选择保存位置就好了。

建好的报表分这样几个部分,下面依次说明Title : 报表标题,也就是在报表首页出现的Page Header : 报表每页的页头,Page Footer页脚Column Header : 列头,Column Footer 列脚Detail : 对数据源进行循环显示Summary : 汇总,也就是在报表最后一页出现的不需要的部分可以在ireport左边删掉,如下图示接下来以Oracle数据库的scott用户中DEPT表为例,制做一个简单的报表1,设置报表语言在报表边缘外单击,在ireport右边的属性面板中找到Language属性,设置为Java,如下图示2,以数据库为报表的数据源,显示简单的报表首先,把oracle的jdbc驱动引到ireport里,具体做法为:点击:工具-》选项,找到Classpath选项卡,按下图操作找到oracle的JDBC,添加进来就好了然后,点击ireport工具栏上的这个按钮在弹出的窗口中点new按向导,建一个数据源,注意,这个数据源我们在ireport里设计报表用的,与程序并没有关系接下来点工具栏上这个在弹出的窗口中写查询语句,如下图示点OK后,在ireport左边的面板上Fields下边就有了sql所查出来的列,如图现在只要把Fields下边的,将来要显示字段拽到报表设计器中上Detail部分,就好了,注意:把Field拽到Detail中后,在Column Header会自动出现对应的列头,只要双击,就可以写中文了接下来从ireport右边的组件面板中找到Static Text控件,拽到Title里,双击就可以输入文字,结果如下注意:这里所有的Static 和Field,需要在右边的属性面板中,逐一设置两个属性,如图这是为了将来把报表集成到程序里之后,让其在页面上显示中文点击就可以看到结果一般查询都是有条件的,刚才写的sql是查全部的,现在写带查询条件的sql,具体做法为:在ireport窗口左边的面板里,找到Parameters右击,添加Parameter,如图选中刚才添加的这个参数,在右边的属性面板中给其设置名字,比如叫parDname修改刚才写的sql为这样的简单说明红色的部分:在ireport里,用$P{参数名}来取参数,这个参数以后可以从程序里传进来,上边的$P!{parDname},多了一个!号,表示,把接来的参数作为字符串拼到sql中,如果去掉!号,写成$P{parDname},就表示SQL参数,相当于在JDBC中写select * from dept where dname like ?这样就创建了带条件的查询3,使用Variable(变量)做简单的汇总以统计查询结果的总条数,和总人数为例注:在scott的dept表里没人部门人数一列,在此用部门编号来代替在ireport左边找到Variables点右键,添加两个Variable添加后,在右边的属性面板分别给两个变量起名,varPcount (统计总人数),varRecordCount(统计总记录数)在属性面板上,对varPcount设置,如图这几个属性一看就清楚其作用了,Reset type:Report是对事个报表做统计在Variable Expression里选择要统计的Field名,如图在属性面板上,对varRecordCount配置,如图在Calculation属性中,选择count,表示统计数量因为是数量,所以,Variable Expression里随便选一列就行对比:在没有分组过的sql里select count(*)和selectcount(deptno)的结果是一样的配置好好,将两个Variable从左边拽到报表中对应位置就好了,可参照下图预览后就可以看到结果了4,图表的显示,在此,以显示部门人数为例,做一个图表首先给报表添加一个数据集,操作如图示起名为dsPcount按向导完成数据集的创建,之后配置数据集,给数据集添加参数,如图起名为dsParDname在创建好的数据集上右键-》Edit Query,添加查询条件然后在从右边的组件面板中拽一个Chart控件到Summary部分,选择一个样式后,点OK,在接下来的向导中,第一步选择刚创建的数据集,dsPcount,第二步中,选择Key,Value,分别写两个按钮,选择要显示的键和值完成后,在生成的图表上右键-》Chart Data,在DataSet标签上下边做如下配置在Parameters标签中这样配置在Dataset parameters name,选择数据集的参数,在Value expression里,选择主报表定义的参数在Detail标签中,这样配置这样,显示图表的操作就完成了,预览就可以看到效果了第四部分,把报表集成到Web应用程序中用MyEclipse新建一个Web Project,在WebRoot下新建一个reports文件夹,用来放ireport生成的jasper文件找到前边保存ireport报表的路径,报表在预览后,生成jasper 文件,如图把这个deptReport.jasper文件复制到Web项目里的reports 文件夹中导入JasperReport的包,包可以从以下路径找到Ireport安装路径\iReport-3.7.6\ireport\modules\ext把这里所有的包引到Web项目里,引入oracle的jdbc驱动,接下来进行编程,以Servlet为例1,生成报表并且以HTML形式在网页上显示Servlet的主要逻辑代码如下:request.setCharacterEncoding("utf-8");// 接收查询参数,将来这个参数就是我们在报表中定义的parDnameString deptName = request.getParameter("dname");// 报表文件路径,我们用ireport做的jasper文件路径// JasperReport需要jasper文件的真实路径String reportPath = request.getSession().getServletContext().getRealPath("/reports/deptReport.jasper");// 报表参数,jasper文件可能不只一个参数// 在程序里,用一个Map对象,向jasper文件传递他需要的参数Map reportParameters = new HashMap();reportParameters.put("parDname", deptName);// 报表连数据库所用的数据连接// 因为报表直接以数据库为数据源,所以在这里需要给jasper文件一个jdbc连接Connection con = null;// 清空响应流response.reset();// 设置输出格式response.setContentType("application/html");// 创建JDBC连接Class.forName("oracle.jdbc.OracleDriver");con = DriverManager.getConnection("jdbc:oracle:thin:@oracle10:1521:oracle", "scott", "tiger");// JasperReport提供的类,用于生成一个HTML文件JasperRunManager.runReportToHtmlFile(reportPath, reportParameters, con);response.sendRedirect(request.getContextPath()+ "/reports/deptReport.html");/** 如果要在网页上显示PDF文件,把前两句去掉,放开这段注释* ServletOutputStream out = response.getOutputStream();* //从jasper报表生成PDF字节* byte[] pdfBytes = JasperRunManager.runReportToPdf(reportPath, reportParameters, con);* //设置输出内容长度* response.setContentLength(pdfBytes.length); //将PDF写入报表* out.write(pdfBytes, 0, pdfBytes.length);* out.flush();* out.close();*/// 关闭数据连接con.close();这里只写出逻辑代码,实际用的时候,加上各种异常的处理。

jaspersoft+iReport+Designer+4.5.0教程

jaspersoft+iReport+Designer+4.5.0教程

前言本教程所使用实例均来自jaspersoft iReport软件自带的Samples。

在开始本教程之前,请先运行Sample 数据库,如下图所示,相关案例也可在相应的菜单中点击打开。

软件安装,配置设置请见相关教程。

图11.简单报表查询1.1新建报表依次单击“文件/New…”,弹出窗口如图1.1所示:图1. 1选择”Blank A4”,单击”Open this Template”,如图1.2所示:图1. 2在“Report Name ”输入“SimpleReport ”,依次单击“下一步/完成”,得到一个新的report ,如图1.3所示:图1. 31.2设置数据集单击数据库链接按钮,弹出”Report query ”窗口,本文将使用系统自带的HSQLDB 数据库(如图1.4所示),在弹出窗口中输入查询语句,如图1.5和1.6所示。

图1. 4图1. 5图1. 6单击”OK”按钮完成数据集设置。

1.3 Report设计①设置Title在主窗口的设计窗口开始设置。

首先从“组件面板”拖动一个”Static Text”控件到设计窗口的Title Band,并双击输入文字,如图1.7所示。

图1. 7②设置Detail从左侧导航面板“Report Inspectpr”的“Fields”中拖动要显示的属性字段到设计窗口的Detail Band,如图1.8所示。

图1. 8Detail Band中的字段在制成Report时将循环显示,而Column Header是列标题,只显示一行,本文不希望显示列标题,因此删除Column Header中的标签框。

调整Detail中的Text Field位置和大小,如图1.9所示:图1. 9③设置Page Rooter从组建面板中拖动“Pager number”和“Total pages”到设计面板的Page Rooter内,选中设计面板中的“Pager number”控件,如图1.10所示。

ireport 4.5初级教程之参数(Parameters)

ireport 4.5初级教程之参数(Parameters)

ireport 4.5初级教程之参数(Parameters)Parameters通常是用来在打印的时候从程序里传值到报表里。

也就是说parameters通常的是起参数传递的作用。

他们可以被用在一些特定的场合(比如应用中SQL查询的条件),如report中任何一个需要从外部传入的变量等(如一个Image对象所包括的char或报表title的字符串)。

和使用Fields一样,parameters也需要在创建的时候定义它的数据类型。

parameters的数据类型是标准的java的Object。

在ireport中,Parameters的机制是允许用户通过应用程序传递参数致报表当中。

在jasperreort中的某个对象中的expression可以通过下面的语法来访问一个当前ireport中存在的parameter:$P{parameter name}。

如果应用程序没有为报表中定义的parameter赋值,那么parameter将会取我们在定义它的时候设置的default value的值。

parameters是一个Java Object,所以如果它的类型是Object类型,我们在其default value里写下面的表达式就是错误的:0.123你必须要创建一个Object,如:New Double(0.123)这种写法就是正确的。

在查询中使用ParametersParameters可以用来做SQL查询的条件参数的传递。

如果你想根据部门编号(dept_id)得到客户的详细信息(设计的时候我们是不知道这个部门编号的具体值是多少的).此时我们可以这样组织查询语句:select*from employee where dept_id=$P{deptId}此时SQL查询引擎将会采用PreparedStatement来处理传入的deptId值以此作为查询条件参数。

如果你想直接通过parameter值来作为SQL语句的一部分,那么你可以使用下面的特殊语法:$P!{parameter name}。

iReport 4.5 学习笔记

iReport 4.5 学习笔记

iReport 学习笔记版本:iReport 4.5.0 2012年六月简介 (3)1 iReport介绍 (3)1.1概述 (3)1.2 运行环境 (4)1.3下载地址 (4)2 准备 (4)2.1 数据库连接方法1 (4)2.2数据库连接方法2 (6)3 开始制作表 (8)3.1通过第一张简单表了解iReport各个部分功能 (8)3.2 iReport中中文显示问题 (12)4 iReport中各个窗体介绍 (13)4.1 左侧边栏介绍 (13)4.2中间栏 (13)4.3 组建介绍 (14)5 iReport表制作 (15)5.1简单报表 (15)5.2 子报表 (16)5.3 Table类型报表 (27)5.4 iReport中自动换行的设置 (28)6 iReport中其他 (29)6.1 Sql语句的编写IN语句 (29)7 Dorado7中iReport配置 (30)简介公司业务需要用到iReport工具进行报表开发。

所以自学了下。

现在把自己学到的东西几下来分享下,因为这个方面的只是在网上很少,很乱。

下面做一个小的总结,主要是自己的理解加上网上前辈的总结。

接触的iReport是从4.1.0开始的,我现在用的是4.5.0的版本制作。

iReport从3.7.5之后版本已经与之前有了很大的不同,所以如果你用的还是4.0以前的版本的话可能制作过程会存在差异。

下面开始……1 iReport介绍1.1概述iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器采用纯Java开发。

这个工具允许用户可视化编辑包含charts,图片,子报表等的复杂报表。

iReport 还集成了JFreeChart图表制作包。

允许用户可视化地编辑XML JasperDesign文件。

用于打印的数据可以通过多种方式获取包括:JDBC, TableModels, JavaBeans, XML,Hibernate(支持HQL 查询语言), CSV等。

iReport_4.5.1 使用

iReport_4.5.1 使用

iReport 4.5.1 使用说明目录目录1.报表设计器使用基础 (1)1.1.系统配置 (1)1.1.1.oracle数据库驱动 (1)1.1.2.sqlserver数据库驱动 (3)1.1.3.向工程中复制Jar包 (3)1.2.创建新报表 (3)1.3.创建数据连接 (6)1.4.设置查询语句 (9)1.5.报表各部分组成 (10)1.6.制作明细表 (11)1.6.1.添加表头 (11)1.6.2.添加字段 (12)1.6.3.添加列名 (13)1.6.4.设定字体 (13)1.6.5.设定边框 (14)1.6.6.设定栏高 (14)1.6.7.设置字段域 (15)1.7.参数的使用 (16)1.7.1.添加参数 (16)1.7.2.程序中传递参数 (17)1.7.3.报表模板接收参数 (17)1.8.自定义变量的使用 (18)1.8.1.顺序号 (18)1.8.2.小计 (19)1.8.3.合计 (21)2.报表设计器进阶 (22)2.1.分组报表 (22)2.2.图形报表 (27)2.3.子报表 (32)2.3.1.制作父报表 (32)2.3.2.制作子报表 (32)2.3.3.子报表参数设置 (38)2.3.4.子报表自适应行高 (39)3.特殊报表设计 (41)3.1.父子表关联 (41)3.2.统计报表 (42)3.2.1.通用统计报表 (42)3.2.2.动态统计报表 (44)1.报表设计器使用基础iReport安装完毕后,会在桌面放置一个图标,双击此图标,即可运行iReport报表设计器。

报表设计器主界面如下图。

1.1. 系统配置1.1.1.oracle数据库驱动如果需要为Oracle数据库中的数据制作报表,则需要先将Oracle数据库驱动jar包加入到iReport中。

将ojdbc14.jar复制到C:\Program Files\JasperSoft\iReport-4.5.1\ireport\libs文件夹下。

Jaspersoft使用文档

Jaspersoft使用文档

Jaspersoft使用文档1:安装jaspersoft.不做介绍。

2:创建文件。

打开菜单:文件—>new…选择Blank A4,点击Launch Report Wizard按钮确定.点击下一步后面连续点击”下一步”,完成文件的创建。

一般情况下,只留Detail 1 模块即可,其它都可删除。

特殊标签可能用到Page Header和page Footer删除之后,如下图所示,并且在属性栏设置文件的高、宽。

然后根据开始你的标签布局设计模版:(注意,所有的字体显示,要选择上图那3个属性值,否则会出现乱码)(默认打印出来是不会显示边框的,选中Rectangle标签,右击—>Padding and Broders )预览成功之后会生成一个.jaspersoft文件,用来java代码解析使用.Java代码调用jaspersoft1):导入jar<dependency><groupId>jasperreports</groupId><artifactId>jasperreports</artifactId><version>5.6.0</version><classifier>jasperreports</classifier></dependency>2):把要打印的模版存到对应的项目目录下3):模版里面没有sql版本事例:public void printNewExpress(HttpServletRequest request,String no, HttpServletResponse response) throws JRException, InstantiationException, IllegalAccessException, IOException{Collection<Object> storesQualitys = newArrayList<Object>();List<Pick> pick=pickService.printExpressSingle(no);for (Pick detail : pick) {String customerCode=detail.getCustomerCode();String customerCompany=detail.getCustomerCompany();String customerMobile=detail.getCustomerMobile();String customerAddress=detail.getCustomerAddress();String customerZipcode=detail.getCustomerZipcode();String customerLocation=detail.getCustomerLocation();StringclassPath=Thread.currentThread().getContextClassLoader().getResource("" ).getPath();String templatePath="";ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();Resource head =resolver.getResource("classpath:/com/iceasy/wms/console/controller/xls/ template/printCarrierReport_Fed.jasper");templatePath =head.getFile().getAbsolutePath();//封装报表参数HashMap<String, Object> params = new HashMap<String, Object>();//获取报表模板StringfileURL="com"+System.getProperty("file.separator")+"iceasy"+System.getP roperty("file.separator")+"wms"+System.getProperty("file.separator")+"console"+System.getPrope rty("file.separator")+"controller"+System.getProperty("file.separator")+"xls"+System.getProperty("file .separator")+"template"+System.getProperty("file.separator");String templatePathImages =classPath +fileURL+"checkbox_cheked.png";params.put("image_url", templatePathImages);//编译成JasperPrint对象byte[] bytes = JasperRunManager.runReportToPdf(templatePath, params, new JRBeanCollectionDataSource(storesQualitys));response.setContentType("application/pdf");response.setContentLength(bytes.length);ServletOutputStream out;try {out = response.getOutputStream();out.write(bytes, 0, bytes.length);out.flush();out.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}3):模版里面有sql版本事例:public void printPickingList(HttpServletRequest request,String no, HttpServletResponse response) throws JRException, InstantiationException, IllegalAccessException, SQLException, IOException{//获取报表模板ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();Resource head =resolver.getResource("classpath:/com/iceasy/wms/console/controller/xls/ template/printPickingList.jasper");Resource body =resolver.getResource("classpath:/com/iceasy/wms/console/controller/xls/ template/printPickingDetailList.jasper");SqlSession sqlSession = sqlSessionFactory.openSession();Connection connection = sqlSession.getConnection();try {String templatePath = head.getFile().getAbsolutePath();String templatePath_Index = body.getFile().getAbsolutePath();//封装报表参数HashMap<String, Object> params = new HashMap<String, Object>();params.put("pickListJasper", templatePath_Index);params.put("no", no);byte [] bytes = JasperRunManager.runReportToPdf(templatePath, params, connection);response.setContentType("application/pdf");response.setContentLength(bytes.length);ServletOutputStream out;out = response.getOutputStream();out.write(bytes, 0, bytes.length);out.flush();out.close();} finally {sqlSession.close();}}(注:有些标签要使用特定的字体,服务器上面可能没有,可以把对应的字体打成jar 包上传到私服)。

iReport简单使用方法图文教程

iReport简单使用方法图文教程

iReport简单使⽤⽅法图⽂教程iReport是⼀个能够创建复杂报表的开源项⽬,它100%使⽤Java语⾔编写,是⽬前全球最为流⾏的开源报表设计器,由于它丰富的图形界⾯,你能够很快的创建出任何⼀种你想要的报表。

iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。

iReport的遵循AGPL⾃由开源协议,在开源社区发布。

根据iReport和Jasper Studio的维护公告,⾃iReport版本5.5.0之后,终⽌新功能的开发。

在2015年12⽉31⽇以前,对iReport的维护仅限于严重缺陷的修复,不会再增加新的功能。

新建报表,依次单击“⽂件/New…”,弹出窗⼝选择”Blank A4”,单击”Open this Template”依次单击“下⼀步/完成”,得到⼀个新的report单击”OK”按钮完成数据集设置从“组件⾯板”拖动⼀个”Static Text”控件到设计窗⼝的Title Band,并双击输⼊⽂字从左侧导航⾯板“Report Inspectpr”的“Fields”中拖动要显⽰的属性字段到设计窗⼝的Detail BandDetail Band中的字段在制成Report时将循环显⽰,⽽Column Header是列标题,只显⽰⼀⾏,本⽂不希望显⽰列标题,因此删除Column Header中的标签框。

调整Detail中的Text Field位置和⼤⼩⾄此设计⼯作基本完成,此时可以将不显⽰的⾯板删除(单击此⾯板,右击选择“删除”)或调整各Band的标尺将其隐藏。

单击“Preview”可进⼊预览页⾯选中导航⾯板”Report Inspector”的” Parameters”,右击选择添加参数到此这篇关于iReport简单使⽤⽅法图⽂教程的⽂章就介绍到这了,更多相关iReport图⽂教程内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

Java开源报表JasperReport、iReport4.5.1使用详解(四)

Java开源报表JasperReport、iReport4.5.1使用详解(四)
b).检查classpath
③进行报表设计,排列好字段。这步骤பைடு நூலகம்前面的几节有详细的介绍。
四、和Struts2
整合
我们的iReport的数据源,这里取一个List集合,这个List集合,我们从Struts2中获取。
①导入所需jar包
前面几节有介绍,再次不再赘述,需要注意的是,导入Jar包的时候要避免冲突
三、设置数据源
①选择JavaBean Datasource
输入Class name 然后单击 Read attributes②选择需要的字段,Add selected field 即可。
在上一步中,有可能出现Read attributes,读取不出来属性的情况,一般请检查下面两点:a).Class 是不是选对了
extends后面需要添加jasperreports-default
&lt;package name="test" namespace="/report" extends="struts-default,jasperreports-default"&gt;
②配置Struts2配置文件
&lt;package name="test" namespace="/report" extends="struts-default,jasperreports-default"&gt; &lt;action name="toHtml" class="totalViewAction" method="listTotalView"&gt; &lt;result name="success" type="jasper"&gt; &lt;param name="location"&gt;/web/report/groupScore/countView.jasper&lt;/param&gt; &lt;param name="dataSource"&gt;listTotaltView&lt;/param&gt; &lt;param name="format"&gt;HTML&lt;/param&gt; &lt;/result&gt; &lt;result name="error"&gt;/error.jsp &lt;/result&gt; &lt;result name="input"&gt; /error.jsp &lt;/result&gt; &lt;/action&gt; &lt;action name="toPdf" class="totalViewAction" method="listTotalView"&gt; &lt;result name="success" type="jasper"&gt; &lt;param name="location"&gt;/web/report/groupScore/countView.jasper&lt;/param&gt; &lt;param name="dataSource"&gt;listTotaltView&lt;/param&gt; &lt;param name="format"&gt;PDF&lt;/param&gt; &lt;/result&gt; &lt;result name="error"&gt; /error.jsp &lt;/result&gt; &lt;/action&gt; &lt;action name="toXml" class="totalViewAction" method="listTotalView"&gt; &lt;result name="success" type="jasper"&gt; &lt;param name="location"&gt;/web/report/groupScore/countView.jasper&lt;/param&gt; &lt;param name="dataSource"&gt;listTotaltView&lt;/param&gt; &lt;param name="format"&gt;XML&lt;/param&gt; &lt;/result&gt; &lt;result name="error"&gt;/error.jsp &lt;/result&gt; &lt;/action&gt; &lt;action name="toXls" class="totalViewAction" method="listTotalView"&gt; &lt;result name="success" type="jasper"&gt; &lt;param name="location"&gt;/web/report/groupScore/countView.jasper&lt;/param&gt; &lt;param name="dataSource"&gt;listTotaltView&lt;/param&gt; &lt;param name="format"&gt;XLS&lt;/param&gt; &lt;/result&gt; &lt;result name="error"&gt; /error.jsp &lt;/result&gt; &lt;/action&gt; &lt;/package&gt;

iReport使用教程(示例教程)

iReport使用教程(示例教程)

iReport使⽤教程(⽰例教程)在使⽤ireport的过程中,因为各种功能都要百度,但是⼤家使⽤的例⼦⼜千差万别让⼈很苦恼,所以⽤⼀个简单例⼦贯穿的展⽰⼀下ireport的常见功能。

iReport简介说到iReport不得不先介绍Jasperreport,Jasperreport是⼀个报表制作程序,⽤户需要按照它制定的规则编写⼀个XML⽂件,然后得到⽤户需要输出的格式⽂件。

它⽀持输出的⽂件格式包括PDF,HTML,XML,XLS,CVS等等。

⽽iReport就是⼀个制作Jasperreport的XML⽂件的可视化开发⼯具。

只是⼀个UI。

我使⽤的是iReport 3.5.1,使⽤的⽰例数据表如图:sales表:(⼈名、⼤致结构来⾃帆软电⼦⽂档,如有雷同,⽆意冒犯)sellers表:报表结构左边是view区,联系着主设计区中的各个band区域的数据,以及参数、变量等。

中间是主设计区,通过拖拽控件⾯板可以在此区域进⾏设计,有三种模式:设计(Designer)、源码(Xml)、预览(Preview),设计模式是可视的,源码⽅式可以直接在上修改,预览是对设计好的报表样式进⾏预览,也是⼀个编译的过程;右边是控件⾯板和属性⾯板,可以在此使⽤控件和设置属性。

JasperReport有三个⽅式来保持数据:Field、Paramrter、Variables。

⼀般情况下,Field是⽤作保存从数据源取出来的数据,⽤法是;Parameter是⽤来占位—我们在设计时往往不知道具体的值,那么⽤⼀个参数来占住它们的位置,在执⾏时,从程序或者数据库中传递对应的参数过来,从⽽实现⼀个动态的过程,⽤法是Variables是变量,可以将变量⽤于TextFild表达式中,也可以设置它的属性,使它具有⼀些功能,如求和,求平均数等,⽤法是数据源ireport提供很多种数据源的连接⽅式,点上⽅的数据库标识就可以设置数据库,下⽅的数据标识⽤来写SQL语句获取数据。

jasper+ireport化复杂为简单

jasper+ireport化复杂为简单
Jasper 在 servlet 中应用:
建表 CREATE TABLE [dbo].[student] (
[id] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [dept] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [qian] [int] NULL ) ON [PRIMARY] GO 定义参数:
预览效果为:
当前页参数为 Report
添加小计 设置小计变量
12
点击
新建变量
类型
按每组计 算
计算 类型
选择对应 组
选择要计 算的字段
至此添加成功: 新建 ,及把刚新建的V变量拖到 deptFooter(为组的页脚) 最终修改后预览效果
13
交叉报表建立(详情看视频)
图表名词解释:
折线图及柱状图
Series expression:折线分类的标准,该字段内有几个不同的值就画几条线 Category expression:X 轴显示该字段的值 Value expression:Y 轴显示该字段的值
5. 问题总结............................................ 24
2
iReport 设计器应用 设定 iReport 环境
一、设置 iReport 类库路径
选择 iReport 安装路径 保存
二、设置字体(主要是为了支持中文)
3
官方 iTextAsian.jar 下载地址(亚洲区字体支持包) /sourceforge/itextpdf/iTextAsian.jar

ireport 4.5教程之ireport快速入门文档

ireport 4.5教程之ireport快速入门文档

ireport4.5教程之ireport快速入门文档必要条件:iReport需要Sun Java2SDK1.4以上版本;为了能编译jasper文件就必须安装完整的java2(JDK),不光是(JRE)这个运行环境。

如果你还想编译iReport 源代码,你还要安装Jakarta Ant version1.6以上版本。

硬件方面,类似于java的环境,iReport也占很多的RAM,所以它也需要只少256Mb的内存和至少20Mb的磁盘空间。

下载:你可以到SourceForge网站上的企业主页上下载最新发布的iReport,可能有几种不同的分类:iReport-x.x.x.zip这是官方的zip格式的二进制文件。

iReport-x.x.x.tgz这是官方的tar gz格式的二进制文件。

iReport-x-x-x-src.zip这是官方的包含源代码的zip格式的二进制文件。

x.x.x表明了iReport的版本号。

每一种都包含必须使用的第三方的库和程序及附加文件,例如模板和一些html格式的基础教程。

如果你想要更多最新版本的源程序,你可以直接地连接CVS库。

但必须要有一个CVS客户端(像CVS,JCVS或者WinCVS)。

如果你有CVS那就执行如下的命令行:cvs-d:pserver:anonymous@:/cvsroot/ireportlogin(目前好象无法连接)and then all on the same line…cvs-z3-d:pserver:anonymous@:/cvsroot/ireportco iReport2这样CVS客户端就可以将iReport的所有文件下载到本地,包括所有的文档,库和所有有用的编译iReport的文件。

就使用其他CVS的用户来说,SourceForge网站也自制了详细的解释用来检出工程。

编译iReport:这些源中包含一个build.xml文件,它是被Jakarta Ant用来编译和启动iReport和或用来创建不同类型的工程。

ireport 4.5教程之交叉表

ireport 4.5教程之交叉表

ireport4.5教程之交叉表一个CrossTabs是一种在设计的时候既不确定行数和也不确定列数的一种表格,在运行环境下它会像下面显示的不同年份的一个销售报表一样。

水果/年份200420052006草莓野生樱桃CrossTabs在jasperresports中从1.1.0版本时开始提供,同时iReport 也从1.1.0开始支持CrossTabs。

Jasperreports的CrossTabs工具允许对行和列的数据进行分组、汇总和自定义每一个cell里的内容。

填充CrossTab的数据可以来自主报表里的dataset 或来自subDataset。

使用iReport里提供的向导我们可以简单快速的创建功能强大的交叉报表组件。

一个CrossTabs本质上是一个表格,行和列的数量取决于填充这个表格的数据。

行和列也可以在groups里做聚合操作。

对于每一个行或列的group我们都可以得到一个细节信息和一个可选的行列数据的汇总。

交叉表向导(Crosstab wizard)为了说明怎么让一个crosstab工作起来,我们将使用向导创建一个crosstab,当我们在工具条里选择crosstab元素并将其添加到报表中时crosstab的向导会自动启动。

还是以DoradoSample里提供的hsql数据里的employee报为例,我们使用包含下面查询语句的空报表开始:Select*from employee我们把crosstab放在报表的底部:summary band在第一步里我们需要选择一个dataset来填充crosstab,我们这里使用主报表里提供的dataset,点击下一步继续。

在第二步里我们需要定义至少一个行分组.我们这里选择对所有记录使用DEPT_ID进行分组。

这样就意味着crosstab的每一行将会采用一个明确的部门编号,这样JasperReports将会使用部门编号对数据集里的数据进行重新整理计算。

iReport使用手册(简易配图基础版)

iReport使用手册(简易配图基础版)

iReport用户手册1.1什么是iReport?iReport是一个能够创建复杂报表的开源项目,并且它能调用JasperReports 库应用于任何一种java应用程序。

本身是分布式的且由符合GNU通用公共许可的百分之百纯java编写。

由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。

iReport能够让我们提高技术方面的信心,比如它能降低学习JasperReports的XML语法的难度,而且能够为熟练的技术人员节省大量的时间并能开发出非常精细的报表。

2.1功能特点以下将列出iRreport的一些比较突出的功能:•百分之九十九支持JasperReports XML标签•所见即所得的报表编辑器,也就是说它具有创建矩形,线,椭圆,正文区域,标签,图表,子报表,条码等完善的工具图标供使用。

•嵌入式编辑器带有灯泡提示代码规则•支持Unicode和非拉丁语言(俄文,中文,日文,韩文…)•文档结构浏览器•完善的报表编译器和输出器•支持所有可以通过JDBC连接的数据库•支持所有有效的数据源•自动报表创建向导•支持子报表•源文件的备份•支持文档模版•支持TrueType字型•支持本地化•可添加插件扩展功能•完全支持脚本•支持图表•标准对象库管理(页码…)•支持拖拽•无限制的取消/重做3.1下载地址iReport-5.5.0-windows版下载链接:/project/ireport/iReport/iReport-5.5.0/iRe port-5.5.0-windows-installer.exe4.1安装流程1.打开安装文件,点击Next2.点击I Agree3.点击Next4.选择安装目录后,点击Next5.点击Install5.点击Finish安装完成5.1使用流程5.1.1新建一个文件1.点击菜单栏文件,选择New2.选择Report和Blank A4,后点击Launch Report Wizard3.编写Report name,选择存放目录后点击下一步4.默认选择Empty datasource,点击下一步5.点击下一步6.点击下一步7.点击完成新建完成5.1.2设置纸张大小以及页面布局飞1.选中文件名后,点击右键选择Page format..2.设置页面格式以及排版模式我们报表的设计是选择纸张大小A3,横向排列,纸张分两页此处特别强调Columns的作用就是将纸张界面分成相等的几部分,一般设置为2,也就是等分为两部分,左边和右边界面相等3.由于我们是画报表所以只需要保留细节(Detail)即可,因此将Title(标题),Page Header(页眉),Column Header(列标题),Page Footer(页脚),Summary(总结),Background(背景)项删除4.打开组件面板和属性面板,默认是打开状态5.1.3主要组件以及属性介绍1.常用组件Break介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)Break是分页符,用来分页,可拖移动到细节编辑框中使用,使用效果如下2.常用组件Line介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)Line用来画线条,在表格无法实现的情况下可以使用线条加以补充,使用效果如下3.常用组件Static Text介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)Static Text是静态文本,是最常用的一个组件,表格的基本组成大多是静态文本,也就是一个个的表格框,可以输入相关信息,相关效果如下属性框截图:以下为重要内容:Static Text主要属性介绍,基本属性里的Left,Top,Width,Height,Forecolor,Backcolor,Opaque和Text properties里的Font name,Size,Horizontal Alignment,Vertical Alignment,Pdf EncodingStatic Text 基本属性1.Left----------表格框跟界面最左侧距离调整2.Top-----------表格框跟界面最左侧距离调整3.Width--------表格框本身的左右长度调整4.Height--------表格框本身的上下长度调整5.Forecolor----前景色调整(可以理解为字体颜色调整)6.Backcolor----背景色调整7.Opaque-------是否透明选项,可以选择,如果想前景色和背景色调整生效,勾选即可Text properties 属性1.Font name----字体名称调整2.Size------------字体大小调整3.Horizontal Alignment-------水平对直,可调整字体在表格框中的位置4.Vertical Alignment-----------垂直对直,可调整字体在表格框中的位置5.Pdf Encoding--------PDF编码,一般选择UniGB-UCS2-H (Chinese Simplified)4.常用组件Text Field介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)Text Field是文本字段,也就是一个动态文本,可以将变化的数据传入表格,相关效果显示Text Field主要属性介绍,Text Field Expression文本域表达式,可以修改文本字段的表达方式可以在parameters(参数)中新建一个,然后将原始生成的参数替换一个命名5常用组件Image介绍(组件都是拖移使用,直接点住不放,拖向细节界面空白处)将Image拖移至细节页面空白处后,会弹出一个图片路径选择框,选择已经保存的图片点击打开后即可调整图片大小相关显示如下Image主要属性介绍,Image Expression路径设置可手动设置图片路径地址5.1.4使用iReport打造一个简单报表报表原图:第一步:拖移6个Static T ext到细节界面空白处,调整好表头的字体,字体大小,背景色,前景色,详细信息参照常用组件Static Text介绍中,效果图如下:第二步:框选已经做好的表头,使用Ctrl+C复制,效果图如下第三步:粘贴后进行前景色和背景色的调整,将粘贴项的Opaque(是否透明)改为不勾选状态,效果图如下第四步:将数据填充进报表,完成。

jasperReport使用说明

jasperReport使用说明

一、iReport软件安装步骤。

(默认安装即可)1、在安装iReport之前,先把jdk的环境变量配置好!否则iReport不能用,这是因为iReport是用纯java写的。

2、开始安装,双击iReport-4.0.2-windows-installer.exe3、点击next4、点击I Agree5、选中iReport,点击Next6、可以更改路径,点击Next7、剩下步骤,按照默认安装,安装完成!二、工具使用,新建模板、调整样式。

设计一个最简单的报表1、新建一个A4竖行的jrxml模版,如下图,点击Open this Template2、选择保存路径,点击下一步3、点击完成进入如下图,就可以编辑报表了4、开始编辑报表,如给报表添加一个标题“报表的标题”,在组件面板里将Static T ext 用鼠标直接拖到Title区域中将标题组件拖到合适的大小,也可以编辑字体等。

但是一定要在Title 区域。

5、用同样的办法,可以将需要的组件拖到报表模版中。

其中常用的StaticText是静态的,TextField组件是动态的。

6、如下图,是一个做好的报表。

其中$F{region_name},$F{ip},$F{volume}和javaBean的属性名字应一致,包括大小写,否则会找不到这个字段。

另外$V{index}是报表中自定义变量。

其中,可以查看属性配置,例如region_name,又如,自增变量index,如下还可以进行编辑表达式,7、最终编辑的ireport文件,就是一个xml文件8、预览9、JasperCompier再把这个xml文件编译成jasper文件,进行加载。

用jasper的jar类库把数据以报表的形式展示出来。

也可以导出成html、excel、cvs、pdf等各种格式。

10、导出pdf,需要设置属性和,否则中文会乱码。

11、也可以手工在iReport中编译成.jasper文件,然后在程序中加载.jasper文件。

ireport 4.5入门教程之数据源介绍

ireport 4.5入门教程之数据源介绍

ireport4.5入门教程之数据源介绍ireport数据源综述一个DataSource是Jasperreport获取数据以生成报表的源。

这里有两种类型的DataSource:一种是JDBC Connection,用来从关系型数据库里取数据;另外一种是扩展了JRDataSource接口的java object,这种类型的对象允许我们去管理数据的细节,比如一个xml文件或一个javabean的集合。

通过sql查询从关系型数据库里取数据来填充生成报表是很简单的,iReport可以通过各个数据库厂商提供的JDBC Driver来获取连接生成要检索的field。

如果我们不通过JDBC直接访问数据库来获得生成报表的字段与数据的时候,我们需要使用JRDataSource(全称JasperReport Data Source)。

JRDataSource是一个接口,它允许我们访问具有行列结构的数据(在Datasource行我们叫records,列我们叫record fields)。

不管是JDBC Connection还是JRDataSource,他们都不能通过JasperReport来创建,但是当应用程序调用生成报表的时候,我们可以通过JasperReports的fillReport方法传递一个打开的数据库连接(一个java.sql.Connection对象)或者是一个JRDataSource对象实例用于填充被调用的报表。

对于传递一个java.sql.Connection对象的情形,JasperReports将在指定的报表里使用JDBC Connection来执行一个SQL查询,查询的结果将会被包含在一个JRResultSetDataSource对象里(JRResultSetDataSource也是一个JRDataSource对象的实例),这样JasperReports将使用一个JRDataSource对象来关联打印数据。

ireport 4.5初级教程之子报表的实现

ireport 4.5初级教程之子报表的实现

ireport 4.5初级教程之子报表的实现1.打开ireport后,首先设置数据源,这里对数据源进行命名为JDBCCONN,设置好之后点击test可以测试连接是否正确,若是不正确可能有以下几种原因,url地址错误用户名或者密码错误没有引入连接数据库所需要的jar包2.新建报表后对该报表绑定数据集,如下图所示,选择你所需要在报表中显示的数据所对应的数据库表。

然后选出所需要显示的表数据。

3.将通过步骤二所得到的数据添加到报表中来,此时数据会显示在Fields中。

这里可以根据自己的需要将这些Field拖动到报表中来,根据自己所需要的格式来布局。

4.设计字表,在组件面板中找到subreport,将子报表拖到父表中来,5.若是子报表存在则选择该表所存在的位置,若不存在则新建子报表,如图所示:6.为字表显示数据绑定所需的数据集7.将查询出来的数据添加到字表中的fields中。

8.此处的分组可以设置可不设置,在设计好子表后也可以对所需的数据进行分组操作。

9.设置子报表的名称,这里可以看到子表所存在的相对路径和绝对路径。

10.子表和父表11.子表中新增一个参数,这里设置为sid,该变量的含义是父表示通过一个参数来查询所对应的子表。

这里的sid的类型必须和父表中查询所对应的字段类型相同,不然会出现类型不匹配错误。

12.父表中选中字表,查看子表的属性,查找parameters选项。

新建一个parameter,该参数是和子表交互所传的参数。

上面说过子表中建立的sid 参数的数据类型必须和父表中参数的数据类型一样,主要体现在这里。

13.设计好子表,点击preview后首先弹出的是如下图所示的对话框,这里就是通过附表索要传递的参数,这里可以通过手动输入来查看。

14.现在点击父表的preview,查看如下图所示,证明参数已经传递到了字表中。

子报表的设计以及参数的传递已经正确执行。

同为比较常用的java报表生成工具,FineReport对子报表的解决方案和实现方法与ireport有所不同,具体实现思路和步骤如下,供ireport使用者借鉴:对于主子报表,FineReport主要有两种实现方法:表单式主子表1.描述单表式主子报表特点是用单个报表实现主子表的业务逻辑。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.前.言..本教程所使用实例均来自jaspersoft iReport软件自带的Samples。

在开始本教程之前,请先运行Sample 数据库,如下图所示,相关案例也可在相应的菜单中点击打开。

软件安装,配置设置请见相关教程。

图 11.简单报表查询1.1新建报表依次单击“文件/New…”,弹出窗口如图1.1所示:图1. 1选择”Blank A4”,单击”Open this Template”,如图1.2所示:图1. 2在“Report Name”输入“SimpleReport”,依次单击“下一步/完成”,得到一个新的report,如图1.3所示:图1. 31.2设置数据集单击数据库链接按钮,弹出”Report query”窗口,本文将使用系统自带的HSQLDB数据库(如图1.4所示),在弹出窗口中输入查询语句,如图1.5和1.6所示。

图1. 4 图1. 5图1. 6单击”OK”按钮完成数据集设置。

1.3 Report设计①设置Title在主窗口的设计窗口开始设置。

首先从“组件面板”拖动一个”Static Text”控件到设计窗口的Title Band,并双击输入文字,如图1.7所示。

图1. 7②设置Detail从左侧导航面板“Report Inspectpr”的“Fields”中拖动要显示的属性字段到设计窗口的Detail Band,如图1.8所示。

图1. 8Detail Band中的字段在制成Report时将循环显示,而Column Header是列标题,只显示一行,本文不希望显示列标题,因此删除Column Header中的标签框。

调整Detail中的Text Field位置和大小,如图1.9所示:图1. 9③设置Page Rooter从组建面板中拖动“Pager number”和“Total pages”到设计面板的Page Rooter内,选中设计面板中的“Pager number”控件,如图1.10所示。

图1. 10此时可以查看该控件的属性,在属性面板中找到“Text Field Expression”属性,将其改为"Page "+$V{PAGE_NUMBER}+" of "。

至此设计工作基本完成,此时可以将不显示的面板删除(单击此面板,右击选择“删除”)或调整各Band的标尺将其隐藏。

完成后如图1.11所示。

图1. 11单击“Preview”可进入预览页面,如图1.12所示。

图1. 12最后保存文件。

2.使用Parameters 和Variables2.1新建报表参照1.1,新建报表”PandV”。

2.2 添加Parameters选中导航面板”Report Inspector”的” Parameters”,右击选择添加参数,如图2.1所示。

图2. 1在属性面板中修改“parameter1”的”Name”属性为” Country”,可在“Description”中添加备注,如” I.e. Italy”。

此时”Report Inspector”面板的” Parameters”中增加了一个新的变量”Country”。

图2. 22.3设置数据集参照1.2,查询语句为:select * from orders where shipcountry like $P{Country}2.4添加Variabl es选中导航面板”Report Inspector”的” Variables”,右击选择添加变量,如图2.3所示。

图2. 3添加“FREIGHT_IN_PAGE”变量,将其”Caculation”设为”Sum”,”Reset type”设为”Page”,如图2.4所示。

图2. 4单击属性”Variable Expression”右的弹出按钮,弹出窗口如图2.5所示。

双击FREIGHT,输入框自动键入$F{FREIGHT}。

单击“确定”按钮完成设置。

图2. 5继续添加变量”FREIGHT_IN_REPORT”,将其”Caculation”设为”Sum”,”Reset type”设为”Report”,”Variable Expression”为$F(FREIGHT)。

2.5 Report设计拖动三个静态文本,并输入文字;拖动“Parameters”中的”Country”到Title Band。

调整控件大小和文字尺寸,如图2.6所示。

图2. 6拖动”Fields”中字段到Detail Band中,并修改列标题,如图2.7所示。

图2. 7分别在”Column Footer”和”Pager Footer”中添加一个静态文本,字体设为12号,右对齐,如图2.8所示。

图2. 8分别拖动“FREIGHT_IN_PAGE”和” FREIGHT_IN_REPORT”到”Column Footer”和”Pager Footer”中,如图2.9所示。

图2. 9如要”Column Footer”和”Pager Footer”中的行与其它背景颜色不同,可修改控件属性,如图2.10所示。

图2. 10删除或隐藏不需要的Band,单击”Preview”进行预览,在弹出窗口中输入所需的参数数值,如Italy。

图2. 11预览效果如图2.12所示。

图2. 12最后保存文件。

3.使用Groups功能3.1新建报表参照1.1,新建报表” GroupsReport”。

3.2设置数据集参照1.2,查询语句为: select * from orders order by shipcountry 3.3 添加Group选中”Report Inspector”中的”GroupReport”,右击选择添加Group。

图3. 1在弹出窗口中设置”Group name”为”Country_First_letter”,并选中单选按钮”group by the following expression”,设置为($F{SHIPCOUNTRY} == null ||$F{SHIPCOUNTRY}.length() == 0) ? "" : $F{SHIPCOUNTRY}.substring(0,1)。

选择下一步,再点击完成。

继续添加Group ,命名为”Country”,选中”Group by the following report object”,并选择下拉列表中的”shipcountry”。

3.4添加Variabl es参照2.4,添加变量”First_Letter”,”Reset type”设为”Group”,”Variable Expression”设为($F{SHIPCOUNTRY} == null ||$F{SHIPCOUNTRY}.length() == 0) ? "" : $F{SHIPCOUNTRY}.substring(0,1)。

3.5 Report设计①拖动两个静态文本到Title Band,并修改文字。

图3. 2②从”Variables”中拖动”First_Letter”到” Country_First_letter Group Header1”,字号为52,”Backcolor”为[249,170,170],选中”Opaque”,”Evaluation Time”设为”Auto”;从”Fields”中拖动”SHIPCOUNTRY”到”Country Group Header1”中,字号24;并拖动几个字段到Detail Band,如图3.3所示。

图3. 3③拖动一个静态文本到”Country Group Footer”;从”Variables”中拖动”First_Letter”到” Country_First_letter Group Footer”,修改其”Text Field Expression”为"Total freight of orders in country starting with the letter " + $V{First_Letter}。

更改二者颜色。

图3. 4④新建两个变量”FREIGHT_1”和”FREGHT_2”,属性如图3.5和3.6所示。

图3. 5图3. 6从”Variables”中拖动FREIGHT_1到”Country Group Footer”,拖动FREIGHT_2到”Country_First_letter Group Footer”中,修改背景色。

完毕后点击预览,如图3.7所示。

图3. 74.使用Crosstabs4.1新建报表参照1.1,新建报表” CrosstabsReport”。

4.2设置数据集参照1.2,查询语句为: select * from orders4.3 Report设计①拖入两个静态文本框和一个Line到Title Band。

图4. 1②加入页码拖动”Page number”和”Total pages”到设计窗口的Page Footer,并修改字段,如图4.2所示。

图4. 2③加入Crosstabs从控件面板中拖动Crosstabs控件到设计窗口的Summary Band中。

弹出”New Crosstab”窗口,点击”下一步”,设置row groups,如图4.3所示。

图4. 3设置好后,点击下一步,设置cloumn groups。

图4. 4设置好后,点击下一步,设置measure。

图4. 5设置好后,点击下一步,设置表格显示的颜色样式。

图4. 6 设置好后,点击完成。

此时设计窗口如图4.7所示。

图4. 7④修改日期格式选中Report Inspector中Summary的Column Groups的ORDERDATE,修改其属性,如图4.8所示:图4. 8也可直接修改xml:点击按钮”XML”,如图4.9所示。

图4. 9找到ORDERDATE,将$F{ORDERDATE}改为(new SimpleDateFormat("yyyy")).format($F{ORDERDATE}),并修改class属性,如图4.10所示。

图4. 10找到ORDERDATE1,将$F{ORDERDATE改为(new SimpleDateFormat("yyyy-MM")).format($F{ORDERDATE}),并修改class属性。

完毕后,点击预览如下图所示:图4. 115.使用Subreport5.1新建报表参照1.1,新建报表” SubreportMaster”。

5.2设置数据集参照1.2,查询语句为: select distinct shipcountry from orders order by shipcountry5.3 Report设计①拖动两个静态文本到Title Band,并修改文字。

相关文档
最新文档