`
xy0792
  • 浏览: 90668 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

JReport入门及例子(iReport)

阅读更多
  • 准备工作:

1、下载JReport:http://down10b.zol.com.cn/bianchengtools/333513_ireport300.zip?key=287ff4fc316487d19e8c5537ba13d7e4

    图文教程下载:http://files.blogjava.net/luodaijun/ireport%E5%9B%BE%E6%96%87%E6%95%99%E7%A8%8B.zip

2、下载安装MySQL:http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/mysql-5.5.11-win32.msi

在test中建个test表,有id和name字段

3、安装JDK、eclipse,这个就不用说了吧。

  • 制作报表:

请参考 图文教程 中的操作,自己动手做出一张报表,这里我不在细说,只要展示id和name字段就行了。

保存为classic.jrxml文件,我放在E:\rpt下面。注意,这个一般放在项目目录中,以后使用相对路径,现在我使用的绝对路径,我只是测试一下,到时候要使用流来读取。

  • 编码调用报表

在eclipse中建立一个java项目

TestBean类,是一个普通bean,跟数据库中字段一样就好了,有set get方法

public class TestBean {
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	private int id;
	private String name;
}

 

Test类是调用的报表的类,

import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
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.view.JasperViewer;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			JasperReport jr = null;
			JasperPrint jp = null;
			FileInputStream fis = new FileInputStream(new File(
					"E:\\rpt\\classic.jrxml"));
			jr = JasperCompileManager.compileReport(fis);

			Map<String, String> map = new HashMap<String, String>();
			// map.put("id", "test"); //这里是传参数的 必须先在ireport 中定义好 参数
			// map.put("name", "test");
			JRDataSource dataSource = new JRBeanCollectionDataSource(getTest());
			jp = JasperFillManager.fillReport(jr, map, dataSource);
			JasperViewer.viewReport(jp);

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

	public static Connection getConnection() {

		String driver = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql://localhost/test";
		String userName = "root";
		String password = "root";

		Connection conn = null;

		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(url, userName, password);
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

		return conn;
	}

	public static List<TestBean> getTest() {

		List<TestBean> list = new ArrayList<TestBean>();
		String sql = "select id,name from test";
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;

		try {
			conn = getConnection();
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);

			while (rs.next()) {
				TestBean tb = new TestBean();
				tb.setId(rs.getInt("id"));
				tb.setName(rs.getString("name"));
				list.add(tb);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

		try {
			if (rs != null) {
				rs.close();
			}
			if (stmt != null) {
				stmt.close();
			}
			if (conn != null) {
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return list;
	}
}

具体代码见附件。

  • 注意事项:

1、必须使用JDK5,我刚开始使用JDK6一直报错,找不到原因,各位不要再绕弯路了

2、使用了FileInputStream来读取E:\rpt\classic.jrxml这个文件,这个是绝对路径

3、我使用了JRBeanCollectionDataSource ,报表中有自己的DataSource,我不知道怎么使用,就用JDBC写了一个。但是从项目角度考虑,我们一个项目肯定使用一个数据源,所以如果每次调用报表,都使用报表自己的数据源是不可取的,但是自己的DataSource确很好维护,直接改变SQL语句就能修改了,所以请达人告诉我怎么直接调用JReport的DataSource,不胜感激。

4、项目中所用的lib可以在ireport的软件的lib下面找到,只有MySQL的JDBC需要自己去下载驱动。

 

 

  • test.7z (8.1 MB)
  • 下载次数: 95
  • 大小: 50.6 KB
0
11
分享到:
评论

相关推荐

    JReport例子

    **JReport例子** JReport是一款强大的商业智能和报表工具,它允许开发者集成到自己的应用程序中,提供数据分析、报表设计和仪表板功能。这篇博客文章(原文链接:https://xy0792.iteye.com/blog/1029946)可能会...

    Getting Started with JReport

    ### JReport产品概览 JReport是一款强大的嵌入式报告工具,它为企业的应用程序提供操作性的商业智能。通过集成JReport,企业可以轻松地在自己的应用中生成复杂且直观的报表,无需离开原有的业务环境。 #### 产品...

    jreport产品介绍.pptx

    此外,它支持一键式修改、精确的页面控制,以及丰富的格式设置功能,如条件高亮和参数及汇总合计的应用。 4. **JReport DHTML 展示**:在浏览器中以无失真的方式进行报表展示,提升用户体验。 5. **报表引擎**:...

    Jreport—jasperreport的一个实例demo

    JasperReport的设计工具——iReport(现在已合并到Jaspersoft Studio)提供了一个直观的图形用户界面,使得非技术人员也能设计报表。JasperReport与Spring、Hibernate等Java框架兼容良好,可以方便地集成到现有的...

    JReport中文版教程

    至此,JReport中文版的安装及数据库连接过程顺利完成。 在实际应用中,JReport不仅支持多种数据源连接,还提供丰富的报表设计功能,包括图表、交叉表、参数化查询等,帮助企业快速生成定制化的业务报表,实现数据...

    iReport+jasperreports生成各种格式的报表

    《iReport与JasperReports:打造多样化报表生成方案》 在信息技术领域,数据的呈现方式至关重要,报表作为数据可视化的重要工具,能够帮助我们快速理解复杂的信息。本文将深入探讨iReport与JasperReports这两个强大...

    JReportIt:JReport是一个Java数据库报告工具。-开源

    在 Java 程序中用作独立程序或报告工具。 可视化设计报告模板。 使用子报表。 从多种字段类型中进行选择:静态、数据库、公式、预定义、计算、外部和子报表。 在一张表格上打印多页。 用边框、颜色、图像和不同的...

    Report-SimpleJReport

    简单的JReport SimpleJreport 是一个开源框架和 API。 它能够提供各种高端数据透视表并将它们导出到 Excel 或 CSV 文件。 之后,在 Excel 上将数据透视表转换为数据透视图图形视图就容易多了,这也提高了全面分析...

    Report Designer使用手册.pdf

    花费好长时间才在豆丁找到此中文的文章,没有太多的样例,在这里就收1个金币的辛苦费吧

    jasper 详细描述

    JasperReport 提供了 Ireport 设计工具,允许开发者通过图形界面设计报表模板。模板定义了报表的布局和样式,以及数据与模板元素的映射。开发者可以设置字段、文本框、图像、图表等元素,以及它们的数据来源。报表...

    JasperReort,JFreeChart简明教程

    报表设计可以通过JasperReport的配套工具Ireport完成,Ireport提供了一个可视化的报表设计环境,使得非程序员也能设计出符合需求的报表模板。JasperReport支持多种数据源,包括数据库查询结果、XML文件、CSV文件等,...

    JReportIt:JReportIt是一个Java数据库报告工具。-开源

    在Java程序中用作独立程序或报表工具。 直观地设计报告模板。 使用子报表。 从以下几种字段类型中进行选择:静态,数据库,公式,预定义,计算,外部和子报表。 在一种形式上打印多页。 用边框,颜色,图像和不同的...

    数据库课程设计--企业人事管理系统

    使用jsp 做的企业人事管理系统 做为数据库的课程设计。完整功能代码与文档。除了基本增添删减功能外,还使用分页技术。javamail 邮件发送技术,jreport报表导出excel,word,还有ajax等技术应用。

    JAAS简介及示例代码

    文件列表中的`JReport Product License Control .doc`可能是关于报表工具的许可控制文档,`JAAS.pptx`可能是一个关于JAAS的演示文稿,`javav-src.zip`可能是包含Java源代码的压缩文件,而`src`和`WebRoot`则是常见的...

    jfreecharts 报表

    5. **集成**:JFreeChart可以方便地集成到Java Swing应用和Web应用中,如Servlets、JSP等,也可以用于报表工具,比如提到的"jreport"。 在博文《JFreeChart报表》中,作者可能分享了如何使用JFreeChart来创建和配置...

    数据可视化概述(32页 PPT).pptx

    - JReport:一款强大的报表生成工具,支持多种数据源和复杂的布局设计。 - Excel:广泛使用的电子表格软件,内置了丰富的图表制作功能。 - 水晶报表:企业级报表解决方案,支持多种格式的数据源,并能够生成高度...

Global site tag (gtag.js) - Google Analytics