问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何利用Jaspersoft iReport Designer创建表格

发布网友 发布时间:2022-04-28 18:52

我来回答

3个回答

懂视网 时间:2022-05-06 21:09

昨天给大家讲了一种方式,今天换一种方式,就是说,将主报表的某一参数直接传递给子报表作为数据源,当然,这个参数是包含子报表的,这个主要是基于Web开发,也是从网友那边拿来的,结合自己的经验再做一遍。 首先创建我们需要的JavaBean ProvinceBean.java

昨天给大家讲了一种方式,今天换一种方式,就是说,将主报表的某一参数直接传递给子报表作为数据源,当然,这个参数是包含子报表的,这个主要是基于Web开发,也是从网友那边拿来的,结合自己的经验再做一遍。

首先创建我们需要的JavaBean

ProvinceBean.java

package test;

import java.util.ArrayList;

public class ProvinceBean
{
	private String provinceName;
	private ArrayList cities;
	public String getProvinceName()
	{
		return provinceName;
	}
	public void setProvinceName(String provinceName)
	{
		this.provinceName = provinceName;
	}
	public ArrayList getCities()
	{
		return cities;
	}
	public void setCities(ArrayList cities)
	{
		this.cities = cities;
	}
}
CityBean,java

package test;

public class CityBean
{
	private String cityName;

	public String getCityName()
	{
		return cityName;
	}

	public void setCityName(String cityName)
	{
		this.cityName = cityName;
	}
}
注意一下,这里Province是主表的元素其中他包含了cityBean,那么显然CityBean要作为子表之中的元素

下面创建Servlet类这个类我“本地化”一下,改动了一点

package test;

import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sun.net.ssl.internal.ssl.Debug;

import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.util.JRLoader;

public class ChildReportServlet extends HttpServlet
{

private static final long serialVersionUID = -1233414483047719876L;

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
this.doPost(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
try
{
String root_path = this.getServletContext().getRealPath("/");

root_path = root_path.replace('\', '/');
String reportFilePath = root_path + "ireport/parent_sub.jasper";
//Debug.println(reportFilePath, root_path);
JRDataSource dataSource = this.createDataSource();

Map parameters = new HashMap();
parameters.put("SUBREPORT_DIR", root_path + "ireport/");
JasperReport report = (JasperReport)JRLoader.loadObject(reportFilePath);
JasperPrint jasperPrint = JasperFillManager.fillReport(report, parameters, dataSource);

OutputStream ouputStream = resp.getOutputStream();
resp.setContentType("application/pdf");
resp.setCharacterEncoding("UTF-8");
resp.setHeader("Content-Disposition", "attachment; filename="" +URLEncoder.encode("PDF报表", "UTF-8")+ ".pdf"");

// 使用JRPdfExproter导出器导出pdf
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
exporter.exportReport();


ouputStream.close();

}catch(Exception ex)
{
ex.printStackTrace();
}


}

private JRDataSource createDataSource()
{
//生成测试数据
ArrayList provinces = new ArrayList();

ProvinceBean province = new ProvinceBean();
province.setProvinceName("山东");

ArrayList cities = new ArrayList();
CityBean city = new CityBean();
city.setCityName("济南");
cities.add(city);
city = new CityBean();
city.setCityName("青岛");
cities.add(city);
city = new CityBean();
city.setCityName("潍坊");
cities.add(city);

province.setCities(cities);
provinces.add(province);

province = new ProvinceBean();
province.setProvinceName("江苏");

cities = new ArrayList();
city = new CityBean();
city.setCityName("南京");
cities.add(city);
city = new CityBean();
city.setCityName("无锡");
cities.add(city);
city = new CityBean();
city.setCityName("苏州");
cities.add(city);

province.setCities(cities);
provinces.add(province);

return new JRBeanCollectionDataSource(provinces);
}

}

我的文件列表

注意一下,要把jasperreport的jar文件拷贝到lib文件夹下,不然出错找度娘或者问我好了

下面用iReport制作我们需要的报表模板

这两个

打开iReport新建一个报表,数据源的话可以选择空数据源

在主表左侧属性Fields中新建字段;从上面我们创建的Bean中可以知道有两个字段需要建立一个是provinceName一个是cities

创建时候要注意cities的数据类型是list

之后创建子表,这个一路next下去就OK了,将其放到任意一个bands中,如果没有特殊的偏好设置,在主表中点击子表它的属性应该会在右边栏显示,上上次的文章我已经说过要注意Connection type属性,一个是不用,一个是和父表相同,还有一个use datasource。。。。这是这次我们要使用的,选择它然后在下面Data Source Exception 中填入

new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{cities})

如下图:$F{cities}就是我们要传递给字表的数据,只注重技术,不考虑美观,做的就随意了些

下面切换到子表的设计界面,把那些没有用到的bands删掉或者高度设为0

不知道你还记不记得上面我们创建的CityBean,它包含一个属性参数,而我们传给子表的是一个City列表,那么在子表中我们要把它提取出来

所以,在子表的fields中新建字段cityName这个字段属性要和CityBean里面的完全一样,不然就会出错的。

之后点击preview,当然是在主表中点击,会跳出些让输入什么的,不用管它,我们只要是想让iReport编译我们的文件形成后缀名为.jasper,也借此检查一下是否有错。

编译之后把主表和子表拷贝到之前说的那位置,运行服务器

打开:

需要源码请留邮箱,欢迎来探讨

热心网友 时间:2022-05-06 18:17

首先,创建IReport表格文件,双击打开“Jaspersoft iReport Designer 5.6.0 ”,设计器界面

接着,在左上角找到“文件”,点击它下面的“New...”子项,打开新建窗口

由于是新建报表,需要选择Report,一般情况下,选择的模板是Blank A4,单击“Launch Report Wizard”,进入下一步

这时,进入填写报表的名称和选择生成文件路径,选填完毕后单击“下一步”,

然后,填写查询。如果没有默认的数据库选择,需要单击“New”,选择数据库驱动、路径,填写数据库账号和密码,

由于用的是MySQL数据库,数据库连接用的是JDBC连接,填写查询名称,JDBC驱动,JDBC路径,数据库用户名和密码

由于连接数据库,需要查询数据库,编写SQL语句,

进入下一步后,将需要的字段添加到右边框中

接着,编写完SQL语句后,需要分组的话,选择某一字段,

上述设置完毕后,进入完成状态,单击“完成”,

热心网友 时间:2022-05-06 19:35

如何利用Jaspersoft iReport Designer创建表格_百度经验 http://jingyan.baidu.com/article/f3e34a12a4cfd6f5eb6535de.html
如何利用Jaspersoft iReport Designer创建表格

首先,创建IReport表格文件,双击打开“Jaspersoft iReport Designer 5.6.0 ”,设计器界面 接着,在左上角找到“文件”,点击它下面的“New...”子项,打开新建窗口 由于是新建报表,需要选择Report,一般情况下,选择的模板是Blank A4,单击“Launch Report Wizard”,进入下一步 这时,进入填写报表的...

如何Jaspersoft iReport Designer绑定表格数据

双击打开Jaspersoft iReport Designer,并打开最近创建的report,通过“窗口”找到组件面板,将面板上的“Static Text”组件拖曳到设计器窗口,放在Column Header中,修改组件内显示的内容,作为报表表头,接着,将组件面板上的“Text Field”拖到设计面板Detail 1上,并修改成SQL语句查询的字段名称,然后,按...

jaspersoft ireport designer5.6.0怎么限制一页只显示十行

4、分页符修改它的属性“printwhenexpression”,表达式为“newBoolean($V{index}.intValue()%5==0)”。5、ireport默认都是自动分页数据超出页面长度就会自动分到下一页,但有时候业务需要一页只显示固定几行这时候就可以自定义一页只显示十行了。6、以上就是jaspersoftireportdesigner5.6.0限制一页只...

jaspersoft ireport designer5.6.0。怎么生成jrprint

jaspersoftireportdesigner5.6.0,不能生成jrprint。rprint文件是数据库文件。可以使用JasperReports打开。JasperReports是一个基于Java的开源报表工具,可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。

怎样编辑.jasper

Jaspersoft iReport http://community.jaspersoft.com/project/ireport-designer/releases

MAC系统安装并运行ireport

再点击Application,然后把Jaspersoft iReport Designer 拖进去 安装成功。双击打开,运行成功。(哈哈哈,当然没有这么简单,需要配置jdkhome,并且只能是1.7的,高的用不了)显示报内容 然后终端运行:修改如图所示。如果不知道电脑jdk的安装目录,就运行下面的命令查一下:保存:wq,然后重新运行搞定!

JasperReport由jrxml->jasper编译出错:Too many groovy classes were...

report language 改成java 就行了

如何利用Jaspersoft iReport Designer创建表格

首先,创建IReport表格文件,双击打开“Jaspersoft iReport Designer 5.6.0 ”,设计器界面如下图所示:接着,在左上角找到“文件”,点击它下面的“New...”子项,打开新建窗口,如下图所示:由于是新建报表,需要选择Report,一般情况下,选择的模板是Blank A4,单击“Launch Report Wizard”,进入下...

如何利用表格数据创建图表 如何根据表格创建图表 如何创建表格 word2010创建表格的方法 word怎么创建表格 试述在word中创建表格的方法 用excel可创建的图表是 表格如何制作图表 如何把表格转换成图表
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...DE分别在BC AC上,且AE=CD,连接AD,BE交于点p 过B作BQ⊥AD Q为垂足... ...AC上的点,且AE=CD 连接AD BE 交于点P 作BQ垂 ...ac上的点,且ae=cd,连接ad、be交于点p作BQ⊥AD,垂足为Q,求证BP=2... ...AC上的点,且AE=CD,链接AD、BE交于点P,作BQ⊥AD ...AC上的点,且AE=CD,连结AD、BE交于点P,作BQ⊥AD,垂足为Q. ...刚刚大学毕业。由于生病,导致目前没有工作,大学四年的女友也因为我... 形容“荷花的特点”有什么词语 梦见比人还高大的石头蛤蟆,杀人拆房子。我和其他人一起翘辫子了._百度... 梦见别人送我一条蛇,我却把他不小心放了.可是我用石头打了它一下... 作文 我生活在鼓励中 java用ireport 打印报表,求助大神 我用ireport设计好报表了,怎么将.jrxml的文件编译成.jasper的呢 ireport怎么用,jrxml怎么转jasper 买动车票为什么要发短信51966019给12306? E3-1230 v2这个U有什么优缺点,与I5 3470比起来哪个更好一些? 微信冻结了要过几个小时才能解冻微信被紧急冻结了解冻需要多久时间_百度问一问 ireport5.1.0和jasperreports5.1.1怎么集成 pdf.js展示ireport jasper生成的PDF出现空白错误 冻结多久可以解冻? 手机网12306发送短信999是什么意思 我用ireport已经做好了.jasper格式怎么让java调用它生成pdf文档? 莫名其妙收到提示购买火车票的短信。可不是自己购买的,应该如何查询 ireport报表怎么发布到jasperreport server 12306行程短信怎么做? ireport 可以直接修改jasper吗 ireport 设计生成的jasper文件,当宽度大于高度的打印的时候变成了横向,请问怎么设置?急求。。。 用银行卡买火车票收到短信的内容是什么 ireport jasper 怎么使用 利用java web工程,把用ireport生成的jasper文件,导出成pdf文件 被限制登录,一般要多久才能自动解除? 如何Jaspersoft iReport Designer绑定表格数据 桌面上的图片显示不出来,选项里面的那个始终显示图标的勾也去掉了还是显示不出来 有哪些字在五行中既属水又属金又属木的 怎样分每个字的五行(金、木、水、火、土)… 五行属性金水木的字有那些 水和金组合汉字是哪些? 任天堂3ds能看电影 上网 看电视吗 海尔洗衣机洗时停住出现E1? 海尔洗衣机洗到剩几分不动了,然后显示E1是什么意思,这祥怎么才能把滚铜打请问? e3 1230 v2传说中的神U,你伤得起不?INTER公司老板及电脑高手进来。这玩意凭什么这么火这么不便宜? 用笔记本电脑上微信可以抢红包吗 电脑用模拟器开微信怎么抢自动抢红包 戴尔电脑经过升级后,之前的文件都受损,我要怎么恢复 一加手机拨通电话就黑屏怎么回事 一加手机打电话遮挡黑屏设置 一加9pro来电不亮屏 一加手机接听电话靠到耳朵就黑屏怎么可以关掉 一加手机接听电话靠到耳朵就黑屏怎么可以关掉? 谁知道好看的字体网站? 关于新打两天的耳洞疼怎么办