ireport 追加新报表

ireport  追加新报表

/* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRPrintPage;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;

/**
*
* @authored by vijayan.A
* @reviewed by Krishnaveni.T
*/
public class MultiPageLinking {

private Map fillReportParameters() {
Map parametersMap = new HashMap();
Map reportparametermap1 = new HashMap();
Map reportparametermap2 = new HashMap();
Map reportparametermap3 = new HashMap();

reportparametermap1.put("Parameter1", "First Name");
reportparametermap1.put("Parameter2", "Middle Name");
reportparametermap1.put("Parameter3", "Last Name");

reportparametermap2.put("Parameter21", "Address1");
reportparametermap2.put("Parameter22", "Address2");
reportparametermap2.put("Parameter23", "Address3");

reportparametermap3.put("Parameter31", "Phone no");
reportparametermap3.put("Parameter32", "Mobile no");
reportparametermap3.put("Parameter33", "Fax no");

parametersMap.put("reportparametermap1", reportparametermap1);
parametersMap.put("reportparametermap2", reportparametermap2);
parametersMap.put("reportparametermap3", reportparametermap3);

return parametersMap;
}

private JasperPrint fillJasperPrint(String jasperpath, Map parametersMap)
throws IOException, JRException {
JasperPrint jasperprint = new JasperPrint();
jasperprint = JasperFillManager.fillReport(getClass().
getResource(jasperpath).openStream(), parametersMap);
return jasperprint;
}

private JasperPrint getLinkedStaticpages() throws IOException, JRException {
Map page1param, page2param, page3param;
page1param = (Map) fillReportParameters().get("reportparametermap1");
page2param = (Map) fillReportParameters().get("reportparametermap2");
page3param = (Map) fillReportParameters().get("reportparametermap3");

JasperPrint firstsecondlinked = multipageLinking(fillJasperPrint("com/page1 .jasper", page1param), fillJasperPrint("com/page2.jasper", page2param));
JasperPrint firstsecondthirdlinked = multipageLinking(firstsecondlinked, fillJasperPrint("com/page3.jasper", page3param));
return firstsecondthirdlinked;
}

private JasperPrint multipageLinking(JasperPrint page1, JasperPrint page2) {
List pages = page2.getPages();
for (int count = 0; count <
pages.size(); count++) {
page1.addPage(pages.get(count));
}

return page1;
}

private void viewer(JasperPrint page1) {
JasperViewer viewer = new JasperViewer(page1, false);
viewer.setVisible(true);
}

public static void main(String arg[]) throws IOException, JRException {
MultiPageLinking multipages = new MultiPageLinking();
JasperPrint allpages = multipages.getLinkedStaticpages();
multipages.viewer(allpages);
}
}
时间: 2024-08-29 10:38:23

ireport 追加新报表的相关文章

jasperreport 追加新报表(2)

用ireport做好模版后,如果要新加一个打印页,如果是新手,直接修改模版应该是理想情况, 可是什么数据源 feild,parameter,var,subreport ,还有路径, 真的可以让一个人疯掉,(关键这些东西组织在一起跑不了,主要是要动态的出现这些新页,就是说要动态控制这些新页的数量以及要不要出现), 还好,想到如果直接用java在外部控制,就可以易如反掌了,毕竟java的东西自己熟, 幸运的看到一篇关于 ireport追加新页的文章 (是英文的,有时候不得不承认啊,谷歌是比度娘给力,

利用JasperReport+iReport进行Web报表开发

用JasperReport+iReport进行Web报表开发 序言 在非常多实际的项目里,报表都是当中十分重要的组成部分,比如把查询结果以报表的形式呈现出来.这里所提到的报表可不是简单的二维表,而是拥有复杂表头的.多维的.能够在执行期从数据库中自己主动读取数据.可自己主动分页.拥有丰富的页面元素(图片,超连接等).支持分组和交叉表.支持打印.最好还能导出到Excel或Word…...(汗L).可是显而易见,报表功能越强大,提供的服务越丰富,其复杂度也就越提高,所以仅靠石器时代的手工方式生成报表是

使用FileStream向txt格式的文本文件 &quot;追加&quot; 新内容并读取

原文:使用FileStream向txt格式的文本文件 "追加" 新内容并读取 1 //得到文件路径. 2 static string filePath = AppDomain.CurrentDomain.BaseDirectory+"\\TxtFile.txt"; 3 static void Main(string[] args) 4 { 5 //调用写入方法. 6 WriteTxtFile(filePath); 7 //调用读取方法. 8 Console.Writ

搭建第一个web项目:jasperReports+ireport制作pdf报表

一:jasperReports介绍: 在web应用中,必须面临大量的报表问题,即将数据库中的数据形成报表并进行打印.传统开发只能使用html页面设计报表,效率低且不支持别的格式.所以jasperReports因运而生. jasperReports是一款强大的灵活的报表生成工具,能够生成pdf.html和xml格式的报表,是开源的,可以免费的使用她.并且完全使用java写成,可以用在各种java程序中(她的文档是收费的). 二:jar说明: 首先,需要往项目中添加的jar文件有: 核心包:jasp

IReport+JasperReport+Applet报表打印

实现思路: [准备]使用IReport设计并编译报表模版. [服务端]使用JSP完成报表内容填充并获得打印对象. [客户端]使用Applet完成报表打印过程. 这种实现方式需要客户端安装JRE,及打印机驱动. 下面逐步分解: 1.[准备]使用IReport设计并编译报表模版. IReport的安装过程略--. 创建1个简单的报表并编译: 2.[服务端]使用JSP完成报表内容填充并获得打印对象. a.在工程中引入依赖的JAR包,根据报表的组件可能有变化,此处只根据样例报表,引用少数几个. b.编写

使用JasperReport+iReport进行Web报表开发

前言 在实际工程中非常,报告是其中很重要的一部分,结果以报表的形式呈现出来.这里所提到的报表可不是简单的二维表,而是拥有复杂表头的.多维的.能够在执行期从数据库中自己主动读取数据.可自己主动分页.拥有丰富的页面元素(图片.超连接等).支持分组和交叉表.支持打印.最好还能导出到Excel或Word…...(汗L). 可是显而易见,报表功能越强大,提供的服务越丰富,其复杂度也就越提高,所以仅靠石器时代的手工方式生成报表是不能满足须要的. 所幸,眼下我们所熟知的几款报表工具功能上足够强大,并且都附有非

python openpyxl模块实现excel的读取,新表创建及原数据表追加新数据

当实际工作需要把excel表的数据读取出来,或者把一些统计数据写入excel表中时,一个设计丰富,文档便于寻找的模块就会显得特别的有吸引力,本文对openpyxl模块的一些常见用法做一些记录,方便工作中查询(好记性不如烂笔头) author:he    qq:760863706    python:3.5    date:2018-9-14 1:安装openpyxl pip install openpyxl 1 2:excel表读取数据(.xlsx) import openpyxlfilepat

第一部分:使用iReport制作报表的详细过程(Windows环境下)

提示:在有些板块,文中的图片看不到,建议到我的blog浏览文章:http://blog.csdn.net/jemlee2002/文章将会涉及3个方面的内容: 第二部分:使用Jasperreport作为报表控件开发胖客户端报表应用 第三部分:使用Jasperreport作为报表控件开发Web报表应用 1.前言 在网络上可以搜索到很多使用iReport和Jasperreport配合实现各种报表任务的文章,但是我觉得很少有一篇(几乎没有)做一个比较详细的介绍如何使用iReport制作报表的全过程,我所

Java报表小记之 JasperReports &amp; iReport

前言 说到Java报表工具,我接触过的只有FineReport(帆软)和JasperReports,这两个都用过,帆软是收费的而JasperReports是免费的,首先第一感觉帆软功能强大,支持导出的报表格式丰富,但是坑很多(一个格子的属性设置不对整个报表都会乱掉,比如左父格什么的,而且有时少量数据测试是没问题但数据量一大报表就乱掉了,不管什么原因引起,首先这就直接导致不容易发现问题,去年项目上线后就被这样坑过一次),再来谈谈JasperReports,开源免费,使用方面和帆软比是不如它强大,不