转自:http://www.blogjava.net/vjame/archive/2013/10/12/404908.html

一、创建简单的jrxml文件

这里可以手动创建jrxml文件,也可以使用ireport设计器创建

<?xml version="1.0"?>
 2<!DOCTYPE jasperReport
 3PUBLIC "-//JasperReports//DTD Report Design//EN"
 4"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
 5<jasperReport name="FirstReport">
 6    <detail>
 7        <band height="20">
 8            <staticText>
 9                <reportElement x="20" y="0" width="200" height="20" />
10                <text><![CDATA[If you see this, it work]]></text>
11            </staticText>
12        </band>
13    </detail>
14</jasperReport>

以上是一个简单的JRXML文件,实际上就是一个标准的XML文件,<jasperReport>是根元素,<staticText>表示静态的数据,<reportElement>定义了<staticText>的位置和宽度,<text>定义了实际的静态数据。

二、把JRXML文件解析成jasper文件,文件流或JasperReport对象

编译jrxml生成jasper文件

"WebRoot/report/lanjh.jasper");
"WebRoot/report/lanjh.jasper");

生成文件流
public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)

生成报表对象
public static JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml")

三、有了JasperReport对象,文件流或jasper文件之后,就可以用JasperFillManager生成JasperPrint对象,jrprint文件,jrprint文件流

生成JasperPrint 对象
public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)

四、使用JasperExportManager导出或显示
JasperExportManager.exportReportToHtmlFile(jasperPrint, "c://1.html");
JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");

完整的例子

 JasperReport jasperReport;
 2        JasperPrint jasperPrint;
 3        try{
 4          jasperReport = JasperCompileManager.compileReport("WebRoot/report/jasperreports_demo.jrxml");
 5          jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),new  JREmptyDataSource());
 6          JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");
 7   }
 8        catch (JRException e){
 9          e.printStackTrace();
10        }       

2.JasperReports学习笔记2-创建简单的报表例子的更多相关文章

  1. .net Core学习笔记1 创建简单的 .net core项目

    1.打开vs2017>Web 1:创建实体类: namespace ProductMvc.Models { //商品类型 public class ProductType { public in ...

  2. springmvc学习笔记---idea创建springmvc项目

    前言: 真的是很久没搞java的web服务开发了, 最近一次搞还是读研的时候, 想来感慨万千. 英雄没落, Eclipse的盟主地位隐隐然有被IntelliJ IDEA超越的趋势. Spring从2. ...

  3. Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录

    Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...

  4. Django:学习笔记(2)——创建第一个应用

    Django:学习笔记(2)——创建第一个应用 创建应用 在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定.Django 自带一个工具,可以帮你生成应用的基础目录结构, ...

  5. Java学习笔记-多线程-创建线程的方式

    创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...

  6. Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息

    </pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...

  7. Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息

    Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...

  8. [原创]java WEB学习笔记40:简单标签概述(背景,使用一个标签,标签库的API,SimpleTag接口,创建一个自定义的标签的步骤 和简单实践)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  9. Unity3D学习笔记4——创建Mesh高级接口

    目录 1. 概述 2. 详论 3. 其他 4. 参考 1. 概述 在文章Unity3D学习笔记2--绘制一个带纹理的面中使用代码的方式创建了一个Mesh,不过这套接口在Unity中被称为简单接口.与其 ...

随机推荐

  1. linux 中 用户管理 (composer 时不能root 遇到)

    linux 是支持多用户的,可以同时多个用户在线操作,这点与 Windows 不同. 在我们项目组 操作linux 服务器时,可进行多用户管理,并赋予不同权限,下面是我学习并用的比较频繁的命令: 1. ...

  2. Springmvc注解启用

      http://www.blogbus.com/wanping-logs/235898637.html 使用注解的原因 最方便的还是启用注解 注解方便,而且项目中很流行. 配置文件尽量减少,主要使用 ...

  3. 【LeetCode】:二叉树的Max,Min深度

    一.最大深度问题 描述: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes a ...

  4. [算法]旋转矩阵问题(Spiral Matrix)

    题目一: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spir ...

  5. UVA 1493 Draw a Mess(并查集+set)

    这题我一直觉得使用了set这个大杀器就可以很快的过了,但是网上居然有更好的解法,orz... 题意:给你一个最大200行50000列的墙,初始化上面没有颜色,接着在上面可能涂四种类型的形状(填充):  ...

  6. js 处理移动端触摸事件

    在处理移动端的touch事件时,我们可以选择一些插件来处理,比如jquery ui touch punch.js 提供丰富的触摸效果,可以满足移动端的开发, 但是,有些移动端开发中,并不需要如此复杂的 ...

  7. css 中 div垂直居中的方法

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  8. algorithm 简单用法

    algorithm 简单用法 #include <iostream> #include <vector> #include <algorithm> using na ...

  9. JavaUtil_07_HttpUtil_使用Hutool 封装的 HttpUtil

    二.参考资料 1.[Hutool]Hutool工具类之Http工具——HttpUtil

  10. 关于VS中包含库、附加包含库、

    转载:https://blog.csdn.net/qing101hua/article/details/53841827 VS中C++的包含目录.附加包含目录和库目录和附加库目录的区别 对Visual ...