iReport 和 Jasperreport整合开发web报表向导(3)

SpringMVC、Mybatis、ireport整合 前言本人也是ireport的初学者,因此本教程仅针对初次使用ireport制作Web报表的小白,希望起到一些小小的帮助。一、环境搭建1、  SSM框架的搭建(略)2、  引入依赖Jar包我这边是通过Maven管理Jar包的,只需将其复制进你的pom文件即可。<dependency> <groupId>net.sf.jasperreports</groupI... 阅读详情

iReport Jasperreport整合开发web报表向导(3)

 

让我们先回顾一下上一篇文档中已经阐述的问题:

1. 如何连接数据库?

2. 如何定义变量、参数以及字段?

3. 如何定义字体以及如何使用自定义的字体(如黑体、楷体或者比较艺术化的子体)?

下面我们接着往下阐述余下的两个问题,在开始以前我补充两个因该在上篇文档阐述而没有阐述的地方。

       第一个就是我忘记说明iReport怎样把xml文件编译成jasper文件,其实很简单,点击“编译”按钮 即可,其实在你点击两种“运行 ”按钮的是缺省的操作就是先对xml文件进行编译。

第二个就是如何设置iReport的输出格式,我们在前面曾说过iReport可以以很多种格式进行输出,如PDF,HTML,XML,XLS,CVS等等,那么我们该如何设置以何种方式输出呢?

在菜单Build中我们可以看出iReport的缺省输出格式为PDF,如图:

PDF preview 缺省输出格

HTML preview 以网页的格式输出

剩下的就不说了,大家试一下就明白了,J

但是只在此设置输出格式了,还没有完成设置,还有一个必需的设置就是,为每一种设置选择执行“环境”,例如,如果你选择以PDF输出,那么你需要为其指明Acrobat Reader的路径,如图选择菜单Tools/Options,则会弹出如下属性页:

这里还有一点我要说明的就是,在上边途中External editor的设置是选择编辑xml文件的编辑器,这里我一般用UltraEdit来编辑,你可能喜欢用其他的,譬如editplus等,那么就把常用的xml编辑器输入在这里就可以随心所欲的编辑xml文件了,编辑xml文件进入菜单“Edit/edit XML source”,则会弹出你熟悉的编辑器来编辑该xml文件,如图:

 

还有最后一点要补充的就是,在上一篇文档中我引入非宋体的字体的pdfFontNamettf文件路径都是绝对路径(如:c:/winnt/fonts/simhei.ttf),其实这是不对的,应该把你在应用程序中的字体打包进来,这样改绝对路径为相对路径(如 reportfonts/simhei.ttf),这样就万无一失了,呵呵J

 

好了,做完上边的补充,让我们接着前面的问题往下进行,先把下面要解决的问题列如下:

4. 如何执行SQL脚本进行查询?

5. 如何把做好的报表引入到应用程序中?

 

接下来让我们一个问题一个问题的解决它J

 

       4如何执行SQL脚本进行查询?

我们大家都知道,从数据查询必须要有查询语句,特别综合查询的时候可能sql语句会复杂的多,那么iReport是怎样让我们使用自己的查询语句进行输出的呢?我们在上一篇中曾提到过,呵呵J,希望你不会忘记,在菜单view下有Reprot query项,点击则会弹出如下属性页:

点击上图的“Save query to report”则会把这条SQL语句就会把这条查询语句“引入”到报表中了,如果你此时查看XML文件,则会发现如下片断:

<queryString><![CDATA[select * from users where name='Jplateau']]></queryString>

此时我们还以上篇文章开始的例子入手,让我们“加工”一下,如下图:

  

假设我们已经设置好连接数据,那么此时点击“运行”按钮 则会得到如下效果:

呵呵,得到了我们期望的效果,这时,可能你要问,如果我要在sql语句中使用参数呢,那么又该如何?其实我接下来马上要说这个问题,如果我们要以名称来进行模糊查询,传递的参数为name,那么期望的sql语句可能是下面这个样子:

Select * from users where name like ‘%name%’

其实在iReport中也可以很容易实现,记得我们在上一篇文档中曾说过参数的使用方法,因此我不多说,我只把最终的sql语句写给大家,相信大家一看就明白:

Select * from users where name like ‘%$P{name}%’

是不是很简单?J

 

5. 如何把做好的报表引入到应用程序中?

其实在问题4中,如果要运行带参数的查询报表的话,就会牵涉到问题5的,因此我在这里还是要引用问题4种的例子。

此时我们就要引入一个jsp页面,假设是pdf.jsp,那么下面就是pdf.jsp的代码:

<%@ page import="dori.jasper.engine.*" %>

<%@ page import="java.util.*" %>

<%@ page import="java.io.*" %>

<%@ page import="java.sql.*" %>

 

<%

       File reportFile = new File(application.getRealPath("/reports/test.jasper"));

 

       Map parameters = new HashMap();

       parameters.put("name", "p");

      

       Connection conn=null

      

       //以下忽略得到数据库连接过程

//……

//……

                           

       byte[] bytes =

              JasperRunManager.runReportToPdf(

                     reportFile.getPath(),

                     parameters,

                     conn

                     );

      

       response.setContentType("application/pdf");

       response.setContentLength(bytes.length);

       ServletOutputStream ouputStream = response.getOutputStream();

       ouputStream.write(bytes, 0, bytes.length);

       ouputStream.flush();

       ouputStream.close();

%>

 

还有一个必要的步骤就是把你下载的Jasperreport.jar放在你应用程序的lib下,

好了,启动你的应用程序,运行dbf.jsp则会看到如下效果

怎么样,根据名称的模糊查询结果是符合我们的期望的,相信你已经掌握了上边的方法了。

 

当然上边我给出的例子都是最简单的,而且报表的排版也比较随意,相信一点,精美的报表可是细活啊,呵呵J,多练习吧。

 

 

总结

 

这篇系列文档总算写完了,总觉得有点随意的样子,不过还是希望能给一点帮助,文档中不乏有些浅尝辄止的地方,希望你不明白的地方或认为我阐述的不对的地方给我留言或写信。

我的站点:http://plateau.sicool.com

邮箱:plateau_t@sina.com

 

ps:在这篇系列文档中我给了jasperreport太少的篇幅,不是它不重要,虽然iReport可以为我们做到很好,但是对jasperreport的了解还是很重要的,我很少说明它的另外一个原因我在第一篇文档中也说了,其实jasperreport的配套文档是非常丰富,你可以到我的站点上下载它。再次感谢“开源”所给于我们的一切。

 

Jplateau 20031227日星期六 写于广州

 

本地搭建 GitLab 14.1.0版本CI/CD GitLab 镜像版本 gitlab/gitlab-ce:14.1.0-ce.0 GitLab Runner 镜像版本 gitlab/gitlab-runner:v14.1.0 搭建此套环境是在一台32G的windows电脑上安装的。 使用dokcer安装。 此外还涉及的软件Docker Desktop,WSL 安装GitLab 首先启动 dockcer,打开WSL 打开后 首先定义GitLab的持久化目录 export GITLAB_HOME=/srv/gitlab 然后运行安装GitLab的命令 阅读详情

相关推荐

STM32F407上优化CAN总线通信(500kbps速率,多终端系统)需要从硬件设计、软件配置实时性能三个方面进行综合优化

STM32F407上优化CAN总线通信(500kbps速率,多终端系统)需要从硬件设计、软件配置实时性能三个方面进行综合优化

a_zxswer的博客 346

iReport-4.5.1(jasper视图编辑工具)

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

Maven、Struts2、JasperReportiReport整合:一站式Web应用开发实战

Apache Maven是一个项目管理构建自动化工具,它依赖于项目对象模型(POM)的概念,并利用一个中央仓库来管理项目构建的各个阶段。它简化了项目的构建过程,如编译、测试、打包等。Maven通过定义生命周期插件机制,允许开发者专注于项目的开发工作,而不是构建配置。自定义拦截器需要实现接口或继承类。在实现拦截器逻辑时,intercept方法将被调用。开发完成后,需要在struts.xml中进行配置:</action>在这个配置中,拦截器被添加到自定义的拦截器栈。

weixin_34945060的博客 1023

JasperReport初级教程(2.0.3)图文详解_绝对原创

如何调用Java代码,请查看另一篇文章: JasperReport初级教程(2.0.3)调用Java代码_图文详解_绝对原创  如需转载,请注明出处,http://www.川江号子.cn    。 另,本人有Word电子文档格式,如需要,请联系本人:asima127@gmail.com   由于有些图片以前是放在巴巴变上的,现在巴巴变不提供外链了,如果你愿意支付一定

2万+

springcloud+jasperreport技术在前后端分离场景下的报表实现

以下内容,仅做学习交流记录。 一、jasperreport基于eclipse的安装 eclipse版本为2019.06版,jasperreport版本为6.13.0版 安装过程如图所示: 安装完成之后出现如下图所示即表示安装成功 二、在项目中的使用 1、pom文件引入 <!-- https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports --> <dependency> <groupI

qq_41780231的博客 1251

SQL (select查询)

<br />数据表的查询(select)<br />  select 字段列表 [as 别名], * from 数据表名<br />  [where 条件语句]<br />  [group by 分组字段]<br />  [order by 排序字段列表 desc]<br />  [LIMIT startrow,rownumber]<br />  1、Select 字段列表 From 数据表<br />  例:①、select id,gsmc,add,tel from haf (* 表示数据表中所有字段)<

camper001的专栏 4207

iReport Jasperreport整合开发web报表向导(1) Jplateau [原作]

摘自:http://dev.csdn.net/develop/article/22/22935.shtmiReport Jasperreport整合开发web报表向导(1)??????? 我是在一个星期以前接触iReport Jasperreport的,下载最初它们并没有吸引我的兴趣(或信任),主要是他们的版本的问题(我一直不敢用版本都不到1.0的工具软件,目前它们的版本:

楼顶专栏 1074

iReport Jasperreport整合开发web报表向导(2)

iReport Jasperreport整合开发web报表向导(2)        在上一篇文档里我们初步介绍了iReportJasperreport,基本上我们已经对它们有了一个最初的认识,在今天这篇文档里,我将深入的对iReport这个工具进行说明。        接着上篇文档的结尾,如果我们成功运行iReport的话,可以看到如下的主界面:  点击“新增

隐隐约约出现平常人诞生的故乡 9179

iReport Jasperreport整合开发web报表向导(1)

iReport Jasperreport整合开发web报表向导(1)        我是在一个星期以前接触iReport Jasperreport的,下载最初它们并没有吸引我的兴趣(或信任),主要是他们的版本的问题(我一直不敢用版本都不到1.0的工具软件,目前它们的版本:iReport0.2.2,Jasperreport0.5.0),不过听说有人在用他们,于是就仔细看了一下(因为在

隐隐约约出现平常人诞生的故乡 9256

iReport Jasperreport整合开发web报表向导

iReport Jasperreport整合开发web报表向导 我是在一个星期以前接触iReport Jasperreport的,下载最初它们并没有吸引我的兴趣(或信任),主要是他们的版本的问题(我一直不敢用版本都不到1.0的工具软件,目前它们的版本:iReport0.2.2,Jasperreport0.5.0),不过听说有人在用他们,于是就仔细看了一下(因为在java应用程序的web打印

习惯的魅力 2961

iReport Jasperreport 整合开发 WEB 报表向导(二)

在上一篇文档里我们初步介绍了 iReport Jasperreport,基本上我们已经对它们有了一个最初的认识,在今天这篇文档里,我将深入的对 iReport 这个工具进行说明。 接着上篇文档的结尾,如果我们成功运行 iReport 的话,可以看到如下的主界面: 点击“新增” 按钮可以创建一个新的空报表,考虑到生成后的XML文件编辑的时候可以显示中文,请在 xml encodi

深蓝随笔 1081

iReport Jasperreport 整合开发 WEB 报表向导(一)

我是在一个星期以前接触 iReport Jasperreport 的,下载最初它们并没有吸引我的兴趣(或信任),主要是他们的版本的问题(我一直不敢用版本都不到1.0的工具软件,目前它们的版本: iReport0.2.2, Jasperreport0.5.0),不过听说有人在用他们,于是就仔细看了一下(因为在 java 应用程序的 web 打印方面我一直都是采用浏览器打印,非常痛苦,所以宁可信其

深蓝随笔 1367

Web报表工具iReport 1.2.2 详解

目前它们的版本:iReport 1.2.2, Jasperreport 0.9.2 前天一个叫“QQ高手”的朋友,问了个关于iReport的问题就想还是贴个教程出来,那些想用报表工具的朋友参考下,其实我们做报表用的只是JasperreportiReport是一个Jasperreport 的可视化开发工具。目前几乎还没有中文的介绍他们整合开发的文章,尽管如此我也不准备非常详细的介绍它们,在这里我仅

冷枫@CSDN 4079

plc.rar_PLC_西门子_西门子 1200_西门子1200_西门子1200程序

西门子1200程序热力站控制类

上一篇: iReport 和 Jasperreport整合开发web报表向导(2)
下一篇: Flex 记录点滴(一)关于Flex
Jplateau
博客等级 码龄23年 1粉丝 49原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值