`

Jasper Report 的一个简单的分组报表

阅读更多
简单的分组统计:

<?xml version="1.0" encoding="UTF-8"  ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
		 name="MyReportDemo"
		 columnCount="1"
		 printOrder="Vertical"
		 orientation="Landscape"
		 pageWidth="842"
		 pageHeight="700"
		 columnWidth="782"
		 columnSpacing="0"
		 leftMargin="30"
		 rightMargin="30"
		 topMargin="20"
		 bottomMargin="20"
		 whenNoDataType="NoPages"
		 isTitleNewPage="false"
		 isSummaryNewPage="false">
	<property name="ireport.scriptlethandling" value="2" />
	<property name="ireport.encoding" value="UTF-8" />
	<import value="java.util.*" />
	<import value="net.sf.jasperreports.engine.*" />
	<import value="net.sf.jasperreports.engine.data.*" />

	<queryString><![CDATA[select moid,to_char(trunc(recvdate),'yyyy-mm-dd') recvdate ,gatetype from sms_recv order by recvdate ,gatetype

]]></queryString>

	<field name="MOID" class="java.math.BigDecimal"/>
	<field name="RECVDATE" class="java.lang.String"/>
	<field name="GATETYPE" class="java.lang.String"/>

	<variable name="v_recvdate" class="java.lang.Integer" resetType="Group" resetGroup="Group1" calculation="Count">
		<variableExpression><![CDATA[$F{MOID}]]></variableExpression>
		<initialValueExpression><![CDATA[new java.lang.Integer(0)]]></initialValueExpression>
	</variable>
	<variable name="totalCount" class="java.lang.Integer" resetType="Report" calculation="Count">
		<variableExpression><![CDATA[$F{MOID}]]></variableExpression>
		<initialValueExpression><![CDATA[new java.lang.Integer(0)]]></initialValueExpression>
	</variable>
	<variable name="SUM_MOID_1" class="java.math.BigDecimal" resetType="Report" calculation="Sum">
		<variableExpression><![CDATA[$F{MOID}]]></variableExpression>
	</variable>
	<variable name="gatetype" class="java.lang.Integer" resetType="Group" resetGroup="group2" calculation="Count">
		<variableExpression><![CDATA[$F{MOID}]]></variableExpression>
		<initialValueExpression><![CDATA[new java.lang.Integer(0)]]></initialValueExpression>
	</variable>

		<group  name="Group1" isReprintHeaderOnEachPage="true" >
			<groupExpression><![CDATA[$F{RECVDATE}]]></groupExpression>
			<groupHeader>
			<band height="19"  isSplitAllowed="true" >
			</band>
			</groupHeader>
			<groupFooter>
			<band height="40"  isSplitAllowed="true" >
				<staticText>
					<reportElement
						x="399"
						y="15"
						width="88"
						height="18"
						key="staticText-5"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement textAlignment="Right" verticalAlignment="Middle">
						<font/>
					</textElement>
				<text><![CDATA[SubCount  Of ]]></text>
				</staticText>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="516"
						y="15"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.String"><![CDATA[$F{RECVDATE}]]></textFieldExpression>
				</textField>
				<staticText>
					<reportElement
						x="631"
						y="15"
						width="22"
						height="18"
						key="staticText-6"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<text><![CDATA[is]]></text>
				</staticText>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="668"
						y="15"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.Integer"><![CDATA[$V{v_recvdate}]]></textFieldExpression>
				</textField>
				<line direction="TopDown">
					<reportElement
						x="12"
						y="33"
						width="761"
						height="0"
						forecolor="#FF9933"
						key="line-3"/>
					<graphicElement stretchType="NoStretch"/>
				</line>
			</band>
			</groupFooter>
		</group>
		<group  name="group2" >
			<groupExpression><![CDATA[$F{GATETYPE}]]></groupExpression>
			<groupHeader>
			<band height="19"  isSplitAllowed="true" >
			</band>
			</groupHeader>
			<groupFooter>
			<band height="43"  isSplitAllowed="true" >
				<staticText>
					<reportElement
						x="399"
						y="23"
						width="88"
						height="18"
						key="staticText-8"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement textAlignment="Right" verticalAlignment="Middle">
						<font/>
					</textElement>
				<text><![CDATA[SubCount  Of ]]></text>
				</staticText>
				<staticText>
					<reportElement
						x="631"
						y="23"
						width="22"
						height="18"
						key="staticText-9"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<text><![CDATA[is]]></text>
				</staticText>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="670"
						y="23"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.Integer"><![CDATA[$V{gatetype}]]></textFieldExpression>
				</textField>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="516"
						y="23"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.String"><![CDATA[$F{GATETYPE}]]></textFieldExpression>
				</textField>
				<line direction="TopDown">
					<reportElement
						x="12"
						y="41"
						width="761"
						height="0"
						forecolor="#FF9933"
						key="line-2"/>
					<graphicElement stretchType="NoStretch"/>
				</line>
			</band>
			</groupFooter>
		</group>
		<background>
			<band height="0"  isSplitAllowed="true" >
			</band>
		</background>
		<title>
			<band height="50"  isSplitAllowed="true" >
				<image  evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="54"
						y="14"
						width="33"
						height="30"
						key="image-1"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<graphicElement stretchType="NoStretch"/>
					<imageExpression class="java.lang.String"><![CDATA[]]></imageExpression>
				</image>
				<staticText>
					<reportElement
						x="276"
						y="14"
						width="140"
						height="36"
						key="staticText-1"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement textAlignment="Center">
						<font pdfFontName="Helvetica-Bold" size="18" isBold="true" isItalic="false"/>
					</textElement>
				<text><![CDATA[MyReportDemo]]></text>
				</staticText>
			</band>
		</title>
		<pageHeader>
			<band height="33"  isSplitAllowed="true" >
				<textField isStretchWithOverflow="false" pattern="yyyy/MM/dd" isBlankWhenNull="false" evaluationTime="Report" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="673"
						y="9"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.util.Date"><![CDATA[new java.util.Date()]]></textFieldExpression>
				</textField>
			</band>
		</pageHeader>
		<columnHeader>
			<band height="38"  isSplitAllowed="true" >
				<staticText>
					<reportElement
						x="54"
						y="8"
						width="95"
						height="23"
						key="staticText-2"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement textAlignment="Justified">
						<font pdfFontName="Helvetica-Bold" size="14" isBold="true"/>
					</textElement>
				<text><![CDATA[ID]]></text>
				</staticText>
				<staticText>
					<reportElement
						x="299"
						y="8"
						width="124"
						height="23"
						key="staticText-3"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement textAlignment="Justified">
						<font pdfFontName="Helvetica-Bold" size="14" isBold="true"/>
					</textElement>
				<text><![CDATA[Date]]></text>
				</staticText>
				<staticText>
					<reportElement
						x="573"
						y="8"
						width="128"
						height="23"
						key="staticText-4"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement textAlignment="Justified">
						<font pdfFontName="Helvetica-Bold" size="14" isBold="true"/>
					</textElement>
				<text><![CDATA[Gatetype]]></text>
				</staticText>
				<line direction="TopDown">
					<reportElement
						x="12"
						y="31"
						width="761"
						height="0"
						forecolor="#FF9933"
						key="line-1"/>
					<graphicElement stretchType="NoStretch"/>
				</line>
			</band>
		</columnHeader>
		<detail>
			<band height="24"  isSplitAllowed="true" >
				<textField isStretchWithOverflow="false" pattern="##0.00" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="54"
						y="0"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.math.BigDecimal"><![CDATA[$F{MOID}]]></textFieldExpression>
				</textField>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="573"
						y="0"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.String"><![CDATA[$F{GATETYPE}]]></textFieldExpression>
				</textField>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="299"
						y="0"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.String"><![CDATA[$F{RECVDATE}]]></textFieldExpression>
				</textField>
			</band>
		</detail>
		<columnFooter>
			<band height="30"  isSplitAllowed="true" >
			</band>
		</columnFooter>
		<pageFooter>
			<band height="29"  isSplitAllowed="true" >
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="570"
						y="11"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement textAlignment="Right">
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.String"><![CDATA["Page " + $V{PAGE_NUMBER} + " of "]]></textFieldExpression>
				</textField>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Report" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="670"
						y="11"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.String"><![CDATA["" + $V{PAGE_NUMBER} + ""]]></textFieldExpression>
				</textField>
			</band>
		</pageFooter>
		<lastPageFooter>
			<band height="24"  isSplitAllowed="true" >
			</band>
		</lastPageFooter>
		<summary>
			<band height="210"  isSplitAllowed="true" >
				<staticText>
					<reportElement
						x="486"
						y="22"
						width="77"
						height="18"
						key="staticText-7"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<text><![CDATA[Total Count :]]></text>
				</staticText>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="584"
						y="22"
						width="100"
						height="18"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.Integer"><![CDATA[$V{totalCount}]]></textFieldExpression>
				</textField>
			</band>
		</summary>
</jasperReport>
  • 大小: 113.9 KB
分享到:
评论

相关推荐

    jasper怎么构建报表的详细例子

    在本篇文章中,我们将深入探讨如何使用Jasper来构建各种类型的报表,包括普通报表、分组报表、自定义报表、图形报表以及图形表格混合的报表。 首先,我们从基础开始——普通报表。JasperReport的基础在于JRXML文件...

    Jasper report用户手册Jasper report用户手册

    IReport是JasperReport的可视化设计工具,提供了一个拖放界面,用户可以在这里创建和编辑报表模板。它支持预览、调试和导出功能,极大地简化了报表设计工作。 7. **报表组件** - **表格(Table)**:用于展示结构...

    Jasper Report用户手册(1.0)中文版

    - **作用**:提供了一个简单的窗口用于查看报表。 - **方法**:`viewReport(JasperPrint print, boolean showPageBreakPreview)`用于显示报表。 16. **`net.sf.jasper.view.JasperDesignViewer`** - **作用**:...

    Jasper报表制作小技巧

    * Summary:表格的合计段,出现在整个报表的最后一页中的 Detailband 的后面,一般用来统计报表中某一个或某几个字段的合计值。 报表制作小技巧 1. 安装打开后界面布局及部分快捷键说明:在安装Jasper报表后,打开...

    教你怎么利用ireport软件制作jasper报表文件,是报表模版软件

    ireport是一款用于设计jasper报表的开源工具,它为Java开发者提供了直观的图形界面,使得创建复杂的报表变得简单易行。jasper报表文件通常以jrxml格式存储,它是基于XML的,用于描述报表的布局和数据源。 1. **安装...

    JasperReports介绍.doc Jasper report

    总的来说,JasperReports是一个全面的报表解决方案,提供了从设计到输出的全套工具,适用于需要生成复杂报表的Java应用环境。开发者可以通过调整系统属性和配置,以适应不同的开发环境和需求,实现报表的高效生成和...

    基于Jasperreport动态单元格合并模板

    动态单元格合并是报表设计中的一个重要特性,特别是在处理复杂的数据分组时。例如,当数据按某一字段进行分组并呈现时,可能需要合并相同分组下的单元格以增强可读性。JasperReport提供了API和表达式语言...

    JasperReport 后台 代码 封装,采用JRDataSource方式

    JRDataSource是JasperReport中的一个关键概念,它是将数据绑定到报表模板的一种方式。 首先,我们要理解JRDataSource的工作原理。JRDataSource并不是一个具体的类,而是一个接口,定义了获取报表数据的方法。...

    jasperreports分页例子

    这个示例可能包含一个简单的模板,展示了如何设置分页,以及如何处理分组和条件分页。 总的来说,掌握JasperReports的分页功能对于提升报表设计能力至关重要。通过学习和实践这个例子,开发者可以更好地理解如何在...

    JasperReport动态表头及按组分页,去掉了subreport

    本主题聚焦于“JasperReport动态表头及按组分页,去掉了subreport”,这是一个高级用法,旨在提高报表的可读性和效率。以下是对这些知识点的详细解释: 1. **JasperReport动态表头**: 动态表头是指在报表中,表头...

    利用Jasperreport+IReport进行报表开发

    而IReport则是JasperReport的图形化设计工具,它提供了一个用户友好的界面,使得非程序员也能轻松创建和编辑报表模板。 首先,我们需要安装IReport。IReport通常与JasperReport配套使用,可以从官方网站下载最新...

    Jasper Report Tutorial

    JasperReport是一个用Java编写的库,用于创建静态和交互式的报表。它可以与各种数据库和其他数据源集成,提供灵活的数据绑定和动态数据呈现。JasperReport支持通过JRXML文件进行报告设计,这种XML格式允许用户使用...

    JasperReport动态报表归并行数据

    这可以通过JasperReport的Group功能实现,通过设置一个或多个分组字段,相同分组的数据会被归并到同一行中。分组不仅可以基于一个字段,还可以是多个字段的组合,提供更复杂的数据归并。 4. **自定义脚本let**: ...

    JasperReport动态表头及subreport实现多表

    例如,对于一个销售报表,可以按照地区、年份、季度等进行分组,每个级别的分组都有对应的表头,这样用户就能清晰地看到数据的层次结构。 接下来,我们关注“subreport”。Subreport是JasperReport的一个强大特性,...

    原创:iReport&JasperReport开发手记(一) List报表开发与发布

    3. **创建数据库表**:在 MySQL 数据库中创建一个简单的表格用于测试。 #### 3. 报表制作 本节将介绍如何使用 iReport 设计一个基本的 List 类型报表。 1. **启动 iReport 并新建报表**:打开 iReport,选择 ...

    jasperreport模板一个

    压缩包子文件的文件名“groupOpenReport.jasper”是一个JasperReport模板文件。`.jasper`文件是预编译的模板,包含设计信息和数据查询,可以直接由JasperReports引擎使用。"groupOpenReport"这个名字暗示了这个模板...

    jasperReport 动态合并单元格示例

    一个jasperReport由设计文件(.jrxml)和编译后的字节码文件(.jasper)组成。设计文件使用XML语法定义了报告的布局,包括字段、变量、样式、图像、文本框等元素。要实现动态合并单元格,我们需要在设计文件中设置...

    java报表的开发

    iReport是JasperReports的配套设计工具,它提供了一个可视化的界面来创建和编辑JasperReport的XML源文件。用户需要安装JDK、Web服务器和数据库,然后配置iReport,例如添加JDBC驱动到类路径。iReport还支持数据源...

    ireport+jasperreport开发中问题解决方案

    例如,可以设置一个条件,当满足时字段才显示。 以上是针对ireport+jasperreport开发中常见问题的解决方案,每个知识点都是报表设计中不可或缺的一部分,熟练掌握这些技巧将有助于提高报表开发的效率和质量。在实践...

    jasperreport列合并

    在IT行业中,报表生成工具是数据可视化和报告制作的关键组件,而JasperReport作为一个开源的报表工具,广泛应用于Java环境中。本篇文章将深入探讨如何在JasperReport中实现列合并,以便在导出的Excel文件中展示更...

Global site tag (gtag.js) - Google Analytics