`
uule
  • 浏览: 6359063 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

Ireport交叉报表

 
阅读更多

1、构造数据源:


package test;

import java.util.ArrayList;

public class CrossReportFactory {

	public static Collection getData(){		
		 List<Map<Object, Object>> subGuestName = new ArrayList<Map<Object, Object>>();
            
		 //第一行A1
			subGuestNameInit(subGuestName, "C1", "A1","group1", "data1");
			subGuestNameInit(subGuestName, "C2", "A1","group1", "data12");
			subGuestNameInit(subGuestName, "C3", "A1","group1", "data13");
		
		//第二行A2
			subGuestNameInit(subGuestName, "C1", "A2","group1", "data123");
			subGuestNameInit(subGuestName, "C2", "A2","group1", "data1234");
			subGuestNameInit(subGuestName, "C3", "A2","group1", "data12345");
			
		//第三行还是按C1、C2、C3分3列,但却又按row2分多行
			subGuestNameInit(subGuestName, "C1", "A3","g2","d1");	
			subGuestNameInit(subGuestName, "C2", "A3","g2", "d12");	
			subGuestNameInit(subGuestName, "C3", "A3","g2", "d123");
			
			subGuestNameInit(subGuestName, "C1", "A3","g3","d11");	
			subGuestNameInit(subGuestName, "C2", "A3","g3", "d22");	
			subGuestNameInit(subGuestName, "C3", "A3","g3", "d33");
			
			
         return subGuestName;  
	}
	
	 public static void subGuestNameInit(List<Map<Object, Object>> subGuestName,String column,String row,String row2,String value){
		    Map<Object, Object> guestMap = new HashMap<Object, Object>();
		    guestMap.put("deptid", row);
		    guestMap.put("deptid2", row2);   //第三行继续划分使用
		    guestMap.put("degree", column);
		    guestMap.put("empid", value);
		    subGuestName.add(guestMap);
	    }
}

 2、新建一个模版,右击模版名添加Dataset,选择Dataset为刚创建的Dataset。为Dataset添加fields


3、创建交叉报表

row:


column:


value:


 

交叉报表创建成功。

但此时数据源还不可以,还得这样设置:

右击Detail中的交叉报表,选择Dataset run为"use dataset...",设置Dataset值为$P{REPORT_DATA_SOURCE}即可使用数据源。

详细设置如图:


效果如图:


最后交叉报表如图:



 

结果:


真正使用时隐藏掉红色部分即可达到要求。

 

  • 大小: 63.9 KB
  • 大小: 8.5 KB
  • 大小: 57.7 KB
  • 大小: 55.2 KB
  • 大小: 50.5 KB
  • 大小: 30.9 KB
  • 大小: 101.1 KB
  • 大小: 2.5 KB
  • 大小: 11 KB
  • report1.zip (1.2 KB)
  • 描述: 测试模版文件
  • 下载次数: 100
分享到:
评论
3 楼 w156445045 2012-05-09  
请问下,value我写两个数据该怎么办呢~
2 楼 uule 2011-10-14  
哥们,我也是刚用到交叉报表的。。。
1 楼 colbybobo 2011-10-13  
你好,我看了你写的文章,想问你几个关于交叉报表的问题,麻烦你了!我的邮箱:colbybobo@gmail.com   
QQ:103596214

相关推荐

    ireport交叉报表自定义排序

    ### iReport交叉报表自定义排序 #### 背景与问题描述 在处理复杂的报表设计时,特别是使用iReport工具创建交叉报表(Crosstab)的过程中,常常会遇到需要对数据进行特定排序的需求。默认情况下,交叉报表中的数据...

    关于ireport交叉报表

    iReport交叉报表详细知识点 iReport交叉报表是iReport JasperReports1.1.1版本中新增加的功能之一,它允许用户创建交叉报表,即使报表的行和列都是从数据库中读取的,而不是普通那种列固定行是从数据库中读取。下面...

    ireport交叉报表

    ### iReport交叉报表详解 #### 一、iReport简介 iReport是一款强大的开源报表设计工具,主要用于设计和创建复杂的报表。它支持多种数据源(如JDBC、XML、CSV等),并能生成各种格式的输出文件(PDF、HTML、Excel等...

    ireport开发交叉报表资料及笔记

    4. 自定义样式:通过样式表,你可以调整交叉报表的颜色、字体、边框等视觉效果。 四、实际项目经验分享 1. 性能优化:在处理大量数据时,合理设置查询条件和缓存策略,以减少服务器负载。 2. HTML显示:ireport生成...

    ireport的交叉表模版

    ireport 的交叉表模版

    Ireport 用子报表调用交叉报表

    本主题将详细讲解如何利用 Ireport 实现子报表调用交叉报表的过程,以帮助你更好地理解和操作。 首先,我们需要了解什么是子报表和交叉报表。子报表是在主报表内部嵌套的一个独立报表,它可以展示与主报表相关的...

    用iReport制作交叉表(CrossTabs).doc

    其中,交叉表(CrossTabs)是 iReport 中的一个重要组件,允许用户创建复杂的交叉报表。下面是关于 iReport 制作交叉表的详细知识点: 什么是交叉表(CrossTabs) 交叉表是一种特殊的表格,在设计时既不确定行数和...

    iReport 绘制报表步骤

    本篇文章将详细讲解如何使用iReport来绘制报表,包括简单的报表设计和交叉报表(crosstable)的绘制步骤。 1. **安装与启动iReport** 在开始绘制报表之前,你需要先下载并安装iReport。访问官方网站获取最新版本的...

    iReport柱状图和交叉表画法

    本文介绍如何在iReport中设计柱状图和交叉表两种常用的报表格式。 首先介绍柱状图的画法。在进行柱状图设计之前,需要在数据库中建立数据表并填充数据。以手机销售数据为例,假设我们有一个名为phone_sale的表,它...

    iReport web报表开发实例

    iReport支持多种报表类型,如表格、交叉表、图表、文本等。通过组合和布局这些元素,可以构建出复杂的数据展示格式。模板设计时要注意数据字段的映射,确保数据能正确地填充到报表的各个部分。 五、数据源配置 ...

    iReport教程

    总结,iReport教程旨在帮助用户掌握这款强大的报表设计工具,通过“2010-11-06_ireport图文教程(超详细).doc”、“用iReport制作交叉表(CrossTabs).doc”和“iReport中文详细教程.pdf”这三份文档,你可以逐步了解并...

    JasperReport+iReport高级报表设计实战

    iReport提供了丰富的报表设计功能,从基础的表格到复杂的交叉表,都能应对自如。通过掌握iReport的高级特性,开发者可以高效地创建符合项目需求的报表,提升工作效率。 总结来说,JasperReport+iReport的组合为...

    iReport报表制作详解

    交叉报表,也称为透视表,是一种展示多维度数据的有效方式。在iReport中,你可以通过创建数据列和行来定义交叉表的布局。数据列通常表示分组字段,而行则包含汇总或细节字段。交叉报表支持多种汇总函数,如求和、...

    java+ireport报表开发实例

    iReport还支持子报表、交叉表、自定义函数、图表样式自定义等功能,满足复杂报表需求。例如,通过子报表可以将多个相关的小报表组合成一个大的报表,提高报表的组织性和可读性。 七、实际应用案例 在Java Web项目...

    jasperreport4.0.2包+ireport 4.0.2 报表

    在4.0.2版本中,JasperReport可能已经包含了对各种图表类型的支持,如条形图、饼图、线图,以及复杂的表格和交叉表。它还可能提供了一套丰富的预定义样式和模板,使得开发者可以快速创建美观的报告。此外,该版本...

    JasperReport+iReport报表开发手册.pdf

    2. **报表设计灵活性**:支持设计普通报表、主细表、交叉报表等多种类型的报表,满足不同业务需求。 3. **报表输出多样化**:可以方便地将报表结果导出为PDF、Excel、RTF、HTML等多种格式,适应不同的分发场景。 4...

    利用Jasperreport+IReport进行报表开发

    1. **设计报表模板**:在IReport中,你可以创建新的报表项目,选择报表类型(如表格、交叉表、自由形式等),然后添加字段、图像、文本框等元素。报表的布局和样式可以通过属性面板进行调整。 2. **数据源配置**:...

Global site tag (gtag.js) - Google Analytics