`
234390216
  • 浏览: 10238978 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:462906
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1776008
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1398758
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:395162
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:680178
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:531162
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1185052
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:468848
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:151498
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:68352
社区版块
存档分类
最新评论

JasperReport(3)——Java简单使用IReport生成的文件建立报表

阅读更多

先看看设计的报表样式:



 reportTitle是新添加的一个参数,而其他的id和name是通过数据源得到的Filed。IReport在设置参数的时候需要先在左边新建一个parameter,然后再把该parameter托到右边的设计栏中。

 

生成的XML文件为:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report3" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
	<property name="ireport.zoom" value="1.0"/>
	<property name="ireport.x" value="0"/>
	<property name="ireport.y" value="0"/>
	<queryString>
		<![CDATA[select * from t_blog;]]>
	</queryString>
	<field name="id" class="java.lang.Integer"/>
	<field name="content" class="java.lang.String"/>
	<field name="postTime" class="java.sql.Timestamp"/>
	<field name="seenCount" class="java.lang.Integer"/>
	<field name="title" class="java.lang.String"/>
	<field name="blogStore" class="java.lang.Integer"/>
	<field name="owner" class="java.lang.Integer"/>
	<field name="sysCategory" class="java.lang.Integer"/>
	<background>
		<band splitType="Stretch"/>
	</background>
	<title>
		<band height="44" splitType="Stretch">
			<staticText>
				<reportElement x="227" y="12" width="100" height="20" forecolor="#FF0000"/>
				<textElement textAlignment="Center">
					<font size="13" isBold="true"/>
				</textElement>
				<text><![CDATA[标题]]></text>
			</staticText>
		</band>
	</title>
	<pageHeader>
		<band height="35" splitType="Stretch">
			<staticText>
				<reportElement x="227" y="15" width="100" height="20" forecolor="#FF0000"/>
				<textElement textAlignment="Center">
					<font size="13" isBold="true"/>
				</textElement>
				<text><![CDATA[页眉]]></text>
			</staticText>
		</band>
	</pageHeader>
	<columnHeader>
		<band height="40" splitType="Stretch">
			<staticText>
				<reportElement x="70" y="2" width="100" height="20"/>
				<textElement/>
				<text><![CDATA[id]]></text>
			</staticText>
			<staticText>
				<reportElement x="214" y="2" width="100" height="20"/>
				<textElement/>
				<text><![CDATA[title]]></text>
			</staticText>
			<staticText>
				<reportElement x="373" y="2" width="100" height="20"/>
				<textElement/>
				<text><![CDATA[postTime]]></text>
			</staticText>
		</band>
	</columnHeader>
	<detail>
		<band height="81" splitType="Stretch">
			<textField>
				<reportElement x="70" y="24" width="100" height="20"/>
				<textElement/>
				<textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement x="214" y="25" width="100" height="20"/>
				<textElement/>
				<textFieldExpression><![CDATA[$F{title}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement x="373" y="26" width="100" height="20"/>
				<textElement/>
				<textFieldExpression><![CDATA[$F{postTime}]]></textFieldExpression>
			</textField>
		</band>
	</detail>
	<columnFooter>
		<band height="40" splitType="Stretch">
			<staticText>
				<reportElement x="227" y="10" width="100" height="20" forecolor="#FF0000"/>
				<textElement textAlignment="Center">
					<font size="13" isBold="true"/>
				</textElement>
				<text><![CDATA[相当于表尾]]></text>
			</staticText>
		</band>
	</columnFooter>
	<pageFooter>
		<band height="43" splitType="Stretch">
			<staticText>
				<reportElement x="227" y="13" width="100" height="20" forecolor="#FF0000"/>
				<textElement textAlignment="Center">
					<font size="13" isBold="true"/>
				</textElement>
				<text><![CDATA[页脚]]></text>
			</staticText>
		</band>
	</pageFooter>
	<summary>
		<band height="41" splitType="Stretch">
			<staticText>
				<reportElement x="227" y="10" width="100" height="20" forecolor="#FF0000"/>
				<textElement textAlignment="Center">
					<font size="13" isBold="true"/>
				</textElement>
				<text><![CDATA[用于存放一些统计信息的]]></text>
			</staticText>
		</band>
	</summary>
</jasperReport>

 

JasperReport在生成报表的时候可以直接操作jrxml文件,然后通过Java代码编译为.jasper文件,也可以直接操作IReport编译好的.jasper文件,下面就是用的直接操作.jasper文件,注释掉的是操作jrxml文件的。JasperReport可以把生成的报表导出为多种格式,下面导出的是普通的HTML。JasperReport在往模版里面设置参数值,是提供一个Map进行参数传入的。

java代码:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;

public class Test2 {

	public static void main(String args[]) throws JRException, ClassNotFoundException, SQLException, FileNotFoundException {
		String fileName = "E:\\reports\\report2.jrxml";//直接操作生成的jrxml文件
		JasperReport jasperReport = null;
		JasperPrint jasperPrint = null;
//		jasperReport = JasperCompileManager.compileReport(fileName);//编译jrxml文件
		InputStream inputStream = new FileInputStream("E:\\reports\\report2.jasper");
		Map<String, Object> parameters = new HashMap<String, Object>();//传入参数
		parameters.put("reportTitle", "我的第一个程序");
//		jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, getConnection());
		jasperPrint = JasperFillManager.fillReport(inputStream, parameters, getConnection());
		JasperExportManager.exportReportToHtmlFile(jasperPrint, "first.html");
	}
	
	public static Connection getConnection() throws ClassNotFoundException, SQLException {
		Connection conn = null;
		Class.forName("com.mysql.jdbc.Driver");
		conn = DriverManager.getConnection("jdbc:mysql://localhost/blog", "root", "root");
		return conn;
	}
	
}
 

导出的HTML预览界面:


 

  • 大小: 15.1 KB
  • 大小: 9.8 KB
0
0
分享到:
评论

相关推荐

    ireport生成一维码和google zxing二维码

    本文将深入探讨如何使用iReport生成一维码和二维码,以及涉及到的关键技术——Google的ZXing(Zebra Crossing)。 一、iReport简介 iReport是一款开源的Java Swing应用程序,专门用于设计基于JasperReports的报表。...

    ireport 子报表,行合并实例

    IReport和JasperReport是两个非常流行的Java报表工具,它们能够帮助开发者创建复杂、美观且功能丰富的报表。本篇将深入探讨如何利用IReport来实现子报表以及行合并的实例。 首先,IReport是一款基于GUI的报表设计...

    ireport+jasperreport API

    1. 模板设计与编译:在iReport中设计报表模板后,通过jasperReport API编译成.jasper文件,以便程序运行时动态加载和生成报表。 2. 参数和变量:理解报表参数和变量的区别,学习如何传递参数并使用变量进行数据运算...

    JasperReport动态生成报表

    **JasperReport动态生成报表** JasperReport是一款强大的开源报表工具,主要用于生成各种复杂的静态和动态报表。它基于Java,可以很好地与Java应用程序、Web应用和企业级应用集成,提供丰富的报表设计和灵活的数据...

    IReport与JasperReport开发报表经验总结

    ### IReport与JasperReport开发报表经验总结 在IT领域,报表工具的选择和使用对于数据分析、数据呈现至关重要。本文将基于“**IReport与JasperReport开发报表经验总结**”这一主题,对文档中提到的一些关键问题及其...

    IReport报表制作详解

    "JasperReport 与iReport 的配置与使用.mht"文件可能包含了关于图表制作的教程。IReport支持多种类型的图表,如柱状图、饼图、线图等。在报表中添加图表时,需要指定数据源、系列和值,还可以自定义颜色、标签、图例...

    java报表jasperReports+ireport

    4. **运行报表**: 在Java应用中加载JasperReport模板,传入数据源,生成报表。 5. **导出报表**: 根据需要将生成的报表导出为不同格式,如PDF、Excel等。 总之,JasperReports和iReport为Java开发人员提供了强大的...

    jasperreport中文资料——梧桦椰枫(收集).zip

    **JasperReports Result**:这份文档可能总结了使用JasperReport生成报表时可能出现的结果类型,包括打印、导出、交互式展示等。 **jasperreports 对大数据量报表的支持**:JasperReport支持大数据量的处理,包括...

    完整的web+ireport报表源代码

    在这个压缩包中,文件名"JasperReport"可能指的是整个项目的核心部分——JasperReport报表生成器。它可能包含了一系列的JasperReport模板(.jrxml文件)和相关的Java类,这些模板定义了报表的结构和样式,而Java类则...

    jasperReport测试例子

    这些资料可以帮助开发者快速上手,理解jasperReport的基本概念,如报表模板(.jrxml文件)、报表填充(filling a report)、以及如何在Java代码中调用jasperReport API来生成报表。 "对应所有jar包"意味着压缩包中...

    ireport+jsperreport操作文档

    本操作手册旨在为用户详细解读如何使用ireport与jasperreport工具进行报表设计与生成,以便在永泰决策分析系统中实现高效的数据可视化和业务洞察。通过ireport和jasperreport,用户可以创建复杂、灵活的报表,满足...

    Ireport4集成Struts2

    4. **生成报表**:在Struts2 Action中,使用JasperReport API加载.jrxml文件,填充数据,生成报表并返回到前端。 5. **展示报表**:在JSP页面上,接收并显示由Action传递过来的报表。 以上就是关于"Ireport4集成...

    jasperreport and ireport and action export PDF

    用户可以通过iReport设计报表模板,然后在JasperReport中使用这些模板生成实际的报表。 3. **Action Export to PDF**:这通常指的是在应用中导出报表为PDF格式的功能。PDF(Portable Document Format)是一种通用的...

    Jasperreport资料

    **JasperReport——深度解析与应用指南** JasperReport是一款强大的开源报表工具,它允许开发者在Java应用程序中创建复杂的报表。作为一个基于纯Java的报表引擎,JasperReport能够处理多种数据源,包括数据库连接、...

    jasperreport-2.0.5-project.zip

    《JasperReports 2.0.5:...总的来说,JasperReports 2.0.5是Java开发中生成专业报表的重要工具,结合iReport,可以让报表设计变得简单高效。无论是在企业级应用还是小型项目中,它都是处理数据展示和分析的强大武器。

    java报表技术实例

    10. **API使用**:通过实例代码,熟悉JasperReports提供的API,了解如何在Java程序中集成报表生成功能。 压缩包中的`jasperreports-6.4.3`文件很可能包含了JasperReports库的版本6.4.3,这将包含所需的jar文件和...

    Jreport—jasperreport的一个实例demo

    Jreport与JasperReport是两个在报表生成领域中广泛使用的工具,尤其在Java应用程序中。它们都是用于创建、设计和分发复杂报表的库,帮助企业快速构建数据可视化解决方案。 **Jreport** Jreport是一款企业级的报表...

    JasperReport報表製作入門

    除了通过iReport设计工具外,还可以通过编程方式生成报表。这通常涉及到加载设计好的.jrxml文件,填充数据模型,并调用JasperReports API来生成报表实例。这种方式适用于需要在应用程序中动态生成报表的情况。 ####...

Global site tag (gtag.js) - Google Analytics