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

合集下载

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 版本。

jasperReports、iReport使用说明

jasperReports、iReport使用说明

jasperReports、iReport使用说明相关网址JasperReport下载地址: IReport下载地址:iText亚洲语言包下载地址:/iText JasperReports API 帮助:/api/1. readme为什么需要JasperReports?JasperReports是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,XML,Excel(通过POI或JExcelAPI实现)和Rtf(通过POI实现)格式。

该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。

它的主要目的是辅助生成面向页面的(page oriented),准备付诸打印的文档。

JasperReport借由定义于XML文档中的report design进行数据组织。

这些数据可能来自不同的数据源,包括关系型数据库,collections,java对象数组。

通过实现简单的接口,用户就可以将report library插入到订制好的数据源中。

为什么需要iReport?JasperReport借由定义于XML文档中的report design进行数据组织但是繁琐的XML标记和功能API在提供强大的动态及可扩展开发的同时也带来了超高的复杂性,所以我们需要一个图形化可视的IDE来编辑符合jasperReports API的XML文件。

而iReport正是这样一款工具。

我们用iReport可以进行可视化的报表设计。

然而任何事物都不是十全十美的,iReport这一款工具带给我们方便、快捷、直观的同时,也损失了报表设计的灵活性。

但就其实用性而言,所损失的灵活性也就微乎其微了。

2. iReport上手(1) 语言设置,安装好iReport以后,默认语言是繁体中文(2) 下面是一个较快上手的小例子,如有基础,可以跳过,无须浪费时间为新建报表起点击这里,在页面上拖双击可修改显示内容(3) iReport 各部分简单说明运行效果页头域数据域,需要迭代的数据放在这里列脚域页脚域这个页脚,只在最后一图形,图片放在这个域里·Title:每个报表一般会有一个名字,比如×××销售报表,title就是搁置这个名称的最好地方了,当然你也可以根据需要搁置在合适的地方。

跟我学JasperReports报表框架——利用iReport工具管理Web报表的应用示例

跟我学JasperReports报表框架——利用iReport工具管理Web报表的应用示例

1.1跟我学JasperReports报表框架——利用iReport工具管理Web报表的应用示例1.1.1利用iReport工具操作报表1、编译报表由于Jasperreport在运行时需要的就是一个*.jasper后缀的文件,编译过程其实就是把*.jrxml后缀的文件生成*.jasper后缀的文件。

(1)有关的菜单(2)编译过程中的状态输出(3)编译后所产生出*.java程序和*.jasper后缀的文件2、执行报表Jasperreport提供了两种运行的方式-------静态运行和动态运行,动态运行是带数据源的运行,比如带数据库运行。

前者就是静态文本运行,和数据源无关。

因此,在静态运行方式下,如果报表中出现和数据源有关的对象,则以null显示。

(1)静态运行的菜单(2)动态运行的菜单最好采用动态连接(前面已经设置了动态连接),从而能够动态地获得数据库表中的数据值。

将出现下面的结果3、预览显示报表在iReport中提供了JRViewer的预览显示方式,JRViewer是直接以C/S方式作为报表的输出格式,在JFrame框架下输出。

Jasperreport提供默认的JRViewer输出类,这是iReport 自身带的PDF格式预览。

选择其菜单然后再选择“执行报表(使用动态连结)”,将出现下面的结果4、导出为其它格式的报表iReport的出格式可以支持以下几种:PDF、HTML、CSV、JA V A2D、Excel、纯文字等形式。

选择其他格式的预览,系统会以这种格式保存到磁盘中。

保存位置读者也可以选择,在iReport菜单栏中选择Options,在其中选择Compiler标签,选择编译好的文件以及各种形式的报表保存位置。

在一些应用程序环境下,将JasperReport生成的文档从其特有的格式导出到其他更为流行的格式如PDF,HTML是非常有用的。

这样一来,其他人就可以在没有安装JasperReport 的情况下查看这些报表,特别是当这些文档要通过网络发送出去的时候。

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();这里只写出逻辑代码,实际用的时候,加上各种异常的处理。

JasperReport+iReport报表工具详细开发手册

JasperReport+iReport报表工具详细开发手册
3. 入门篇..............................................................................................................................................5
3.1. IREPORT 入门........................................................................................................................5 3.1.1. 常用工具.........................................................................................................................5 3.1.2. 设置数据源........................ห้องสมุดไป่ตู้............................................................................................7 3.1.3. 新建空报表.....................................................................................................................7 3.1.4. 设置查询 SQL ................................................................................................................7 3.1.5. 设计报表.........................................................................................................................8

Jasperreport报表开发与Web项目整合

Jasperreport报表开发与Web项目整合

JasperReport报表开发与Web项目整合V1.0根据项目要求,需要在项目中将用户需要的数据以报表的形式展示和导出,结果类似下图提供给用户输入JSP页面1.新建一个JSP页面bookinfoInit.jsp,在该页作为给用户提供输入查询条件的窗口。

当用户写好查询条件后,点击“查询”按钮,进行查询。

这里可以将查询的结果立即展示给用户。

就需要在bookinfoInit.jsp中定义一个内联框架<iframe>,用来放置展示查询结果的JSP页面,我们把这个页面定义为htmlReport.jsp。

2.在bookinfoInit.jsp页面的<iframe>框架中,我们需要将htmlReport.jsp的路径给<iframe>,并将查询条件作为参数传递给htmlReport.jsp页面。

代码如下:在这里,当用点击查询按钮时,<iframe>中连接地址src被赋值,在跳转的同时携带参数。

对于中文参数需要同时转码传输,根据参数内容可以用JavaScript提供的编码方法,如encodeURIComponent(),encodeURI()或者其他可用的方法。

document.getElementById("_listframe").src="<%=_base%>/system/bookinfo/htmlReport.jsp?pBookName="+encodeURIC omponent(bookName)+"&pCategory="+category+"&pBookAuthor="+encodeU RIComponent(bookAuthor)+"";用于导出和展示报表的JSP页面获取查询参数和解码在htmlReport.jsp页面首先需要接收调用页面bookinfoInit.jsp传过来的参数,可以通过request.getParameter()方法接收。

ireport.+Jasperreport快速入门

ireport.+Jasperreport快速入门

前言目前我用到了iReport + jasperReports联合开发传统的报表(就是javaApplication上生成报表),而主流上许多人现在用它来开发web报表,关于web报表的资料也相对会多一些。

所以在此总结和转载了关于iReport和jasperReports的较为详细的关于java Application上应用的资料,后面还附有PostgreSql的详细安装过程。

感谢网络上提供了很多素材来源,希望这份资料对大家用。

希望大家在软件开发中共同进步,相互交流。

一、准备知识JasperReport iReportPostgreSqlJasperReport XMLPDF HTML XML XML CSVJasperReport21 xml iReport2JasperReportTitle Font Field Parameters PageFooter xml GroupHeader DetailiReport JasperReport XMLJasperReport xml jasper.jasperjasper jspservlet: JasperReport.xml xmliReport xml JasperReport iReportAnt Java build Unix C make make Ant JA V A XMLjasperReprots Antjava IDE Ant二、安装及环境配置1iReport iReport-1.2.5.zip iReport for JavaJasperreport: jasperreports-1.2.5-applet.jar jasperreports-1.2.5.jar/bindownload.cgi apache-ant-1.6.5-bin.zip/downlads/iTextAsian.jar iTextAsian.jar/download.html postgresql-8.1-405.jdbc3.jar 2, iReport-1.2.5.zip c:\iReportiReport jasperreports jar jasperreport,jasperReport jasperreports-project.zipjariTextAsianapache-ant-1.6.5-bin.zip c:\ant3iTextAsian.jar c:\iReport\lib jdk\lib\tools.jar c:\iReport\lib postgresql-8.1-405.jdbc3.jar c:\iReport\lib4 ,iReport.bat iReport1.2.2WindowsiTextAsian.jarjava jdkc:\iReport iReport.bat ANT_HOME=c:\ant;c:\iReport\bin startup.bat三、iReport使用介绍11.2.42点击“新增” 按钮可以创建一个新的空报表,考虑到生成后的XML文件编辑的时候可以显示中文,请在xml encoding选项上GB2312(没有选项自己手动输入),如下图:3,当设置完必要的选项点击完成可以得到一个空白的报表,如下图:4,好了,输入一段文本,很简单,点击创建“静态文本”按钮,然后在报表任何一个工作区(如title, pageheader, detail, pagefooter summary等等)输入,如输入“今天天气不错!”在属性框页可以对输入的内容进行属性控制,如字体,颜色,大小,以及其他的属性,报表中任何的元素(静态文本,线,框等等)都有自己的属性页,一般双击任何元素都可以弹出该元素的属性页,属性页如下图:5,完工,一个最简单的报表就生成了,iReport 配有运行环境,如下快捷按钮:左边的按钮是运行静态报表(无需数据库环境),右边的是运行动态报表(这时需要设置数据库连接,数据库的连接载下面介绍)那么经过上遍的努力,很显然我们将要运行的静态报表,那么点击左边的按钮就可以看到下面的pdf ,如图:下面下面将采用问答的方式进行逐步讲解将采用问答的方式进行逐步讲解iReport 更多更多的用法的用法1. 如何连接数据库如何连接数据库??2. 如何定义变量如何定义变量、、参数以及字段参数以及字段??3. 如何定义字体以及如何使用自定义的字体如何定义字体以及如何使用自定义的字体((如黑体如黑体、、楷体或者比较艺术化的子体)?4. 如何执行SQL 脚本进行查询脚本进行查询??5. 如何把做好的报表引入到应用程序中如何把做好的报表引入到应用程序中??6. 其它常用的设置以及其它常用的设置以及如何按照自己的意愿导出如何按照自己的意愿导出Excel 格式的文件格式的文件??好了,针对上面的问题,在下面的篇幅中给于解答并穿插介绍iReport 中其它的功能菜单。

JasperReport+iReport报表开发手册

JasperReport+iReport报表开发手册

JasperReports+iReport 报表开发手册V1.0写在前面...JasperReports是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。

它有一个相关的开源工程--IReport,这是一个图形化的辅助工具,主要用于数据报表设计。

JasperReports完全是由Java写成,可以应用于Java的应用程序,包括J2EE,Web应用程序中生成动态内容,它主要目的是辅助生成面向页面的(page oriented),准备付诸打印的文档。

总的而言,JasperReports主要分成三个部分,包括数据报表设计、数据填充与数据报表导出。

第一章JasperReport+iReport使用简介JasperReport在讨论jasperReport之前先介绍下Ireport.Ireport是个工具,用它可以方便的生成报表,比如可以动态链接数据库生成报表,也可以在SQL语句中输入参数,提取指定的数据生成报表。

用ireport生成报表最终会产生两种文件jsxml和jasper文件。

其中jsxml可以认为是XML文件,用来定义报表格式的,比如报表头是什么内容,报表体有哪些列等等,jasper是由jsxml编译生成的二进制文件,用来产生报表。

所以如果有jsxml文件,我们就定义好了报表的格式,现在还缺一个就是数据源了,用来填充报表。

比如数据源我们可以连接数据库得到。

综上所述,Jasper定义报表格式+数据源=最终生成的报表1.JasperReport是什么JasperReport是一个免费、开源的纯JAVA报表工具和引擎,功能很强大。

她可以支持多种数据源,支持Bean作为数据源(支持Hibernate)、Connection作为数据源、xml记录集数据源、ResultSet作为数据源,等等。

她可以很灵活地设计普通报表、主细表、交叉报表。

也可以很方便地将报表的结果导出成pdf、excel、rtf、html等等的格式。

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