`
happy100583
  • 浏览: 124102 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JasperReport实例

阅读更多
Java代码 复制代码
  1. package test.report;   
  2.   
  3. import java.math.BigDecimal;   
  4. import java.sql.Connection;   
  5. import java.sql.DriverManager;   
  6. import java.sql.PreparedStatement;   
  7. import java.sql.ResultSet;   
  8. import java.sql.SQLException;   
  9. import java.util.HashMap;   
  10.   
  11. import net.sf.jasperreports.engine.JRException;   
  12. import net.sf.jasperreports.engine.JRResultSetDataSource;   
  13. import net.sf.jasperreports.engine.JasperCompileManager;   
  14. import net.sf.jasperreports.engine.JasperExportManager;   
  15. import net.sf.jasperreports.engine.JasperFillManager;   
  16. import net.sf.jasperreports.engine.JasperPrint;   
  17. import net.sf.jasperreports.engine.JasperReport;   
  18. import net.sf.jasperreports.engine.util.JRLoader;   
  19.   
  20. public class GenerateReport {   
  21.    public static void main(String[] args) {   
  22.       try {   
  23.          sql4Report();   
  24.       } catch (JRException e) {   
  25.          e.printStackTrace();   
  26.       } catch (SQLException e) {   
  27.          e.printStackTrace();   
  28.       } finally {   
  29.          System.out.print( "finish" );   
  30.       }   
  31.    }   
  32.        
  33.    public static void parameter4Report ()    
  34.       throws SQLException, JRException {   
  35.       //report parameter   
  36.       HashMap<String, Object> parameter =    
  37.          new HashMap<String, Object>();   
  38.       parameter.put( "master_location_id"new BigDecimal(22) );   
  39.   
  40.       Connection con = getConnection();   
  41.       JasperReport jasperReport =    
  42.          JasperCompileManager.compileReport("reports/Location.jrxml");   
  43.       JasperPrint jasperPrint =    
  44.          JasperFillManager.fillReport( jasperReport, parameter, con );   
  45.            
  46.       JasperExportManager.exportReportToPdfFile(   
  47.          jasperPrint, "reports/location_parameter4Report.pdf");        
  48.    }   
  49.        
  50.    public static void sql4Report () throws SQLException, JRException {   
  51.       //create the ResultSet   
  52.       Connection con = getConnection();   
  53.       PreparedStatement statement =    
  54.          con.prepareStatement(    
  55.             "select * from loc_location "  
  56.           + "where location_type_cd = 'ROOM' "  
  57.           + "order by location_type_cd"    
  58.          );   
  59.       ResultSet resultSet = statement.executeQuery();   
  60.            
  61.       JRResultSetDataSource result =    
  62.          new JRResultSetDataSource( resultSet );   
  63.       JasperReport jasperReport =    
  64.          JasperCompileManager.compileReport("reports/Location.jrxml");   
  65.       JasperPrint jasperPrint =    
  66.          JasperFillManager.fillReport(    
  67.             jasperReportnew HashMap(), result    
  68.          );   
  69.            
  70.       JasperExportManager.exportReportToPdfFile(   
  71.          jasperPrint, "reports/location_sql4Report.pdf"  
  72.       );   
  73.    }   
  74.        
  75.    public static void jasper4Report ()    
  76.       throws SQLException, JRException {   
  77.       //create the ResultSet   
  78.       Connection con = getConnection();   
  79.       PreparedStatement statement =    
  80.          con.prepareStatement(    
  81.             "select * from loc_location "  
  82.           + "where location_type_cd = 'ROOM' "  
  83.           + "order by location_type_cd"    
  84.          );   
  85.       ResultSet resultSet = statement.executeQuery();   
  86.            
  87.       JRResultSetDataSource result =    
  88.          new JRResultSetDataSource( resultSet );   
  89.       //modify   
  90.       JasperReport jasperReport =    
  91.          (JasperReport) JRLoader.loadObject(   
  92.             "reports/Location.jasper"  
  93.          );   
  94.       JasperPrint jasperPrint =    
  95.          JasperFillManager.fillReport(    
  96.             jasperReportnew HashMap(), result   
  97.          );   
  98.            
  99.       JasperExportManager.exportReportToPdfFile(   
  100.          jasperPrint, "reports/location_jasper4Report.pdf"  
  101.       );   
  102.    }   
  103.   
  104.    public static void xls4Report () throws SQLException, JRException {   
  105. //    create the ResultSet   
  106.       Connection con = getConnection();   
  107.       PreparedStatement statement =    
  108.          con.prepareStatement(   
  109.             "select * from loc_location "  
  110.           + "where location_type_cd = 'ROOM' "  
  111.           + "order by location_type_cd"    
  112.          );   
  113.       ResultSet resultSet = statement.executeQuery();   
  114.            
  115.            
  116.       JRResultSetDataSource result =    
  117.          new JRResultSetDataSource( resultSet );   
  118. //    create JasperReport from .jasper   
  119.       JasperReport jasperReport =    
  120.          (JasperReport) JRLoader.loadObject("reports/Location.jasper");   
  121.       JasperPrint jasperPrint =    
  122.          JasperFillManager.fillReport( jasperReportnew HashMap(), result );   
  123.            
  124. //        JasperExportManager.exportReportToPdfFile( jasperPrint, "reports/location_xls4Report.xls");   
  125.            
  126.       JRXlsExporter xlsExporter = new JRXlsExporter();   
  127.       xlsExporter.setParameter( JRExporterParameter.JASPER_PRINT, jasperPrint );   
  128.       xlsExporter.setParameter( JRExporterParameter.OUTPUT_FILE, new File("reports/location_xls4Report.xls") );   
  129.       xlsExporter.exportReport();   
  130.    }   
  131.        
  132.    private static Connection getConnection () throws SQLException {   
  133.       DriverManager.registerDriver(    
  134.          new oracle.jdbc.driver.OracleDriver()   
  135.       );     
  136.       return DriverManager.getConnection( url, user, pw );   
  137.    }   
  138.        
  139.    private static String url = "jdbc:oracle:thin:@localhost:1521:db";   
  140.    private static String user = "report";   
  141.    private static String pw   = "report";   
  142. }  
package test.report;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;

public class GenerateReport {
   public static void main(String[] args) {
      try {
         sql4Report();
      } catch (JRException e) {
         e.printStackTrace();
      } catch (SQLException e) {
         e.printStackTrace();
      } finally {
         System.out.print( "finish" );
      }
   }
	
   public static void parameter4Report () 
      throws SQLException, JRException {
      //report parameter
      HashMap<String, Object> parameter = 
         new HashMap<String, Object>();
      parameter.put( "master_location_id", new BigDecimal(22) );

      Connection con = getConnection();
      JasperReport jasperReport = 
         JasperCompileManager.compileReport("reports/Location.jrxml");
      JasperPrint jasperPrint = 
         JasperFillManager.fillReport( jasperReport, parameter, con );
		
      JasperExportManager.exportReportToPdfFile(
         jasperPrint, "reports/location_parameter4Report.pdf");	    
   }
	
   public static void sql4Report () throws SQLException, JRException {
      //create the ResultSet
      Connection con = getConnection();
      PreparedStatement statement = 
         con.prepareStatement( 
            "select * from loc_location "
          + "where location_type_cd = 'ROOM' "
          + "order by location_type_cd" 
         );
      ResultSet resultSet = statement.executeQuery();
		
      JRResultSetDataSource result = 
         new JRResultSetDataSource( resultSet );
      JasperReport jasperReport = 
         JasperCompileManager.compileReport("reports/Location.jrxml");
      JasperPrint jasperPrint = 
         JasperFillManager.fillReport( 
            jasperReport, new HashMap(), result 
         );
		
      JasperExportManager.exportReportToPdfFile(
         jasperPrint, "reports/location_sql4Report.pdf"
      );
   }
	
   public static void jasper4Report () 
      throws SQLException, JRException {
      //create the ResultSet
      Connection con = getConnection();
      PreparedStatement statement = 
         con.prepareStatement( 
            "select * from loc_location "
          + "where location_type_cd = 'ROOM' "
          + "order by location_type_cd" 
         );
      ResultSet resultSet = statement.executeQuery();
		
      JRResultSetDataSource result = 
         new JRResultSetDataSource( resultSet );
      //modify
      JasperReport jasperReport = 
         (JasperReport) JRLoader.loadObject(
            "reports/Location.jasper"
         );
      JasperPrint jasperPrint = 
         JasperFillManager.fillReport( 
            jasperReport, new HashMap(), result
         );
		
      JasperExportManager.exportReportToPdfFile(
         jasperPrint, "reports/location_jasper4Report.pdf"
      );
   }

   public static void xls4Report () throws SQLException, JRException {
//    create the ResultSet
      Connection con = getConnection();
      PreparedStatement statement = 
         con.prepareStatement(
            "select * from loc_location "
          + "where location_type_cd = 'ROOM' "
          + "order by location_type_cd" 
         );
      ResultSet resultSet = statement.executeQuery();
		
		
      JRResultSetDataSource result = 
         new JRResultSetDataSource( resultSet );
//    create JasperReport from .jasper
      JasperReport jasperReport = 
         (JasperReport) JRLoader.loadObject("reports/Location.jasper");
      JasperPrint jasperPrint = 
         JasperFillManager.fillReport( jasperReport, new HashMap(), result );
		
//        JasperExportManager.exportReportToPdfFile( jasperPrint, "reports/location_xls4Report.xls");
        
      JRXlsExporter xlsExporter = new JRXlsExporter();
      xlsExporter.setParameter( JRExporterParameter.JASPER_PRINT, jasperPrint );
      xlsExporter.setParameter( JRExporterParameter.OUTPUT_FILE, new File("reports/location_xls4Report.xls") );
      xlsExporter.exportReport();
   }
	
   private static Connection getConnection () throws SQLException {
      DriverManager.registerDriver( 
         new oracle.jdbc.driver.OracleDriver()
      );  
      return DriverManager.getConnection( url, user, pw );
   }
	
   private static String url = "jdbc:oracle:thin:@localhost:1521:db";
   private static String user = "report";
   private static String pw   = "report";
}



需要的包:
jasperreports-3.1.2.jar
jasperreports-3.1.2-applet.jar
jasperreports-3.1.2-javaflow.jar
commons-collections.jar
commons-digester.jar
commons-logging-1.0.4.jar
commons-logging-api.jar
commons-beanutils.jar
itext-1.3.1.jar
classes12.jar
poi-3.0.1.jar
poi-contrib-3.0.1-FINAL-20070705.jar
poi-scratchpad-3.0.1-FINAL-20070705.jar

文件结构:
+test
++report
+++GenerateReport.java

+reports
++Location.jrxml
++Location.jasper

数据表要和Location.jrmal或Location.jasper(即report的设计一致就行了)

另外可以参考一下这里:
http://blog.csdn.net/kabini/archive/2007/05/08/1600098.aspx

分享到:
评论
2 楼 iris_1992 2015-04-30  
2005年以前,国外开原报表完全碾压国产软件,但是现在国内软件,像帆软、FineBI,都比较牛掰了,设计模式和数据处理方面优于开源报表,真犯不着再用Jasperreport了,
1 楼 niweiwei 2010-12-23  
JasperCompileManager.compileReport("reports/Location.jrxml");  
在编译的时候报net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException:
不知道只怎么回事,麻烦楼主帮个忙 谢谢

相关推荐

    JasperReport实例导入可用

    **JasperReport 实例导入详解** JasperReport 是一个开源的报表工具,它允许开发者创建复杂的报告设计,并在各种应用程序中嵌入这些报告。在这个实例中,我们将探讨如何导入并使用一个可用的 JasperReport 示例项目...

    Jasperreport 实例

    通过以上步骤,我们可以构建一个完整的JasperReport实例,实现从数据处理到报表生成和导出的全过程。需要注意的是,为了提高性能,可以考虑使用 JasperServer 进行报表的服务器端部署和管理,提供更高效的服务和更...

    ssh整合jasperreport实例

    自己写的ssh整合jasperreport实例,没有用struts集成jasperreport的插件,自己封装的导出类,可以导出各种格式,读的是jasperreport的xml文件,不是编译过的文件,可以进行自定义报表开发

    jasperReport测试例子

    **jasperReport测试例子**...开发者可以通过这个实例了解jasperReport的核心功能,学习如何在实际项目中利用jasperReport创建美观且实用的报表。无论是初学者还是经验丰富的开发者,都能从中受益,提升报表开发的能力。

    jasperReport详细教程及例子

    **JasperReport详解与实战应用** JasperReport是一款强大的开源报表工具,专为Java环境设计,用于生成静态和动态的报告。它支持多种数据源,包括数据库、CSV文件、XML数据等,能够输出多种格式,如PDF、HTML、Excel...

    JasperReport、ireport固定表头隐藏列

    示例代码中可能包含了如何在Java应用中操作JasperReport实例,实现这些功能的具体实现。它可能涉及到`JasperDesign`对象的动态修改,使用`JRField`和`JRSection`等API来操作报表结构,以及`JasperFillManager`和`...

    JasperReport windows linux 后台打印实例 无需dll

    本实例主要探讨的是如何在Windows和Linux环境下利用JasperReport进行后台打印,且无需依赖特定的DLL文件,这对于跨平台的应用尤其有价值。 首先,我们要理解JasperReport的工作原理。它基于JasperDesign(.jrxml...

    jasperReport自定义javabean数据源实例

    在JasperReport中,JavaBean可以被用作数据源,每个Bean实例代表报表中的一行数据。 要实现自定义JavaBean数据源,你需要遵循以下步骤: 1. **创建JavaBean**: 首先,你需要定义一个Java类,包含你需要在报表中...

    JavaWeb_ServLet+jasperReport 5.6 实例

    本资源为本人博文的源码,关于jasperreport5.6+javaServletWeb开发的项目,项目比较简单,关于report的数据传递方法都进行代码框架搭建,读者可以根据自己的需要进行下载修改,有问题欢迎随时交流。

    JasperReport

    2. **编译报表**:使用`JasperCompileManager`将JRXML转换为JasperReport实例。 3. **设置数据源**:准备并设置报表执行时的数据源。 4. **填充报表**:调用`JasperFillManager`将数据源与报表模板结合,生成...

    使用JasperReport输出image图像

    标题“使用JasperReport输出image图像”涉及到的关键技术点是JasperReport的图像生成和导出功能。在描述中提到的场景是,一个项目需要在文档中添加可识别的元素,比如条形码,然后将包含这些元素的文档作为图像保存...

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

    本主题将深入探讨如何利用JasperReport实现动态单元格合并,支持多层分组排序和多分组动态合并单元格。 首先,我们要理解JasperReport的基本概念。JasperReport是一个基于Java的报告设计库,它允许开发者通过JRXML...

    Jreport—jasperreport的一个实例demo

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

    jasperreport教程

    2. 创建一个List实例,填充这些数据对象。 3. 将List对象转换为JasperReport理解的数据源,例如JRBeanCollectionDataSource。 4. 使用 JasperFillManager.fillReport() 方法将模板和数据源结合,生成填充后的报表...

    Jasperreport资料

    4. 填充报表:将数据源与报表模板结合,生成报表实例。 5. 输出报表:报表可以导出为多种格式,如PDF、HTML、Excel等,满足不同的应用场景。 三、JasperReport的高级特性 1. 子报表:在主报表中嵌入其他报表,...

    jasperreport模板一个

    在我们提供的压缩包中,包含了一个名为`groupOpenReport.jrxml`的文件,这就是一个具体的jasperreport模板实例。JRXML文件可以使用iReport或Jaspersoft Studio等可视化设计工具进行编辑,这些工具提供了拖放界面,...

    Struts2+JasperReport报表应用

    通过实例化多个PeopleBean对象,并将它们添加到一个列表中,可以为报表提供数据源。 报表的填充过程是由JasperReport库处理的。它会经历三个主要步骤:编译(将jrxml转换为.jasper文件)、加载(加载.jasper文件)...

    jasperreport需要的jar包

    4. **填充报表**: 使用JasperFillManager将数据源与报表模板结合,生成报表实例。 5. **导出报表**: 最后,通过JasperExportManager将报表导出为用户需要的格式。 **JasperReport 需要的JAR包** 1. **...

    ireport+JasperReport经典报表开发实例

    看看代码你就知道报表开发有多简单。由于jar包太多,所以没有附带,你可以安装ireport3.0.0后,ireport安装目录下的lib文件下的jar包就是本实例的jar包,但是struts的包需要你自己加入。

    JasperReport中文翻译用户手册.pdf

    手册中会详细解释每个步骤,并提供实例进行演示,使学习过程更加直观易懂。 总之,“JasperReport中文翻译用户手册”是初学者入门JasperReport的宝贵资源,无论你是Java开发者还是数据分析人员,都可以从中获益,...

Global site tag (gtag.js) - Google Analytics