`
neeleon
  • 浏览: 181586 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ireport相关之jasper

    博客分类:
  • java
阅读更多

ireport是工具,jasper才是核心。没有ireport也可以做报表(熟悉jasper报表xml格式即可)。
        很自然地,那么多的资料,哪里的最好?当然是jasper开源的例子最好!
        有关资源可以到http://jasper.sourceforge.net/下载
         https://sourceforge.net/projects/jasper/  提供比较可靠的下载
         https://jasper.svn.sourceforge.net/svnroot/jasper/ 提供比较新的下载。

         目前他们提供的svn帐号是anonsvn/anonsvn

 


       
         有许多的例子,看了之后,就会豁然开朗。
         因为有太多的例子,现在有50个左右,逐一介绍是没有必要的。
         其中有四个是比较值得看的:
         1)datasource, 学习定制自己的JRdatasource
         2)  一个是jasper,可以了解如何操纵jasper文件
         3) 一个是webapp,如何实现网络打印jrprint文件或者数据流。
         4) CHARTS,有关于所有chart的示例。
         这其中,大部分的代码是类似的。
         通过java开发工具netbeans或者eclipse或者jbuilder可以查看 jasperreports-3.0.0.jar,jasperreports-3.0.0-applet.jar所包含的类的内容,具体需要什么版本,可以到相关网站下载。        
         最后,把比较有代表性的抄录如下:
        

 


 

public static void main(String[] args)
    {
        if(args.length == 0)
        {
            usage();
            return;
        }
                
        String taskName = args[0];
        String fileName = args[1];

        try
        {
            long start = System.currentTimeMillis();
            if (TASK_FILL.equals(taskName))
            {
                JasperFillManager.fillReportToFile(fileName, null, new JREmptyDataSource());
                System.err.println("Filling time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_PRINT.equals(taskName))
            {
                JasperPrintManager.printReport(fileName, true);
                System.err.println("Printing time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_PDF.equals(taskName))
            {
                File sourceFile = new File(fileName);

                JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);

                File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".pdf");

                JRPdfExporter exporter = new JRPdfExporter();

                HashMap fontMap = new HashMap();
                FontKey key = new FontKey("DejaVu Serif", true, false);
                PdfFont font = new PdfFont("DejaVuSerif-Bold.ttf", "Cp1252", true);
                fontMap.put(key, font);

                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
                exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap);

                exporter.exportReport();

                System.err.println("PDF creation time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_XML.equals(taskName))
            {
                JasperExportManager.exportReportToXmlFile(fileName, false);
                System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_XML_EMBED.equals(taskName))
            {
                JasperExportManager.exportReportToXmlFile(fileName, true);
                System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_HTML.equals(taskName))
            {
                File sourceFile = new File(fileName);

                JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);

                File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".html");

                JRHtmlExporter exporter = new JRHtmlExporter();

                HashMap fontMap = new HashMap();
                fontMap.put("sansserif", "DejaVu Sans, Arial, Verdana");
                fontMap.put("serif", "DejaVu Serif, Times New Roman");
                fontMap.put("monospaced", "DejaVu Sans Mono, Courier, Courier New");

                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
                exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap);

                exporter.exportReport();

                System.err.println("HTML creation time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_RTF.equals(taskName))
            {
                File sourceFile = new File(fileName);
        
                JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
        
                File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".rtf");
                
                HashMap fontMap = new HashMap();
                fontMap.put("sansserif", "DejaVu Sans");
                fontMap.put("serif", "DejaVu Serif");
                fontMap.put("monospaced", "DejaVu Sans Mono");

                JRRtfExporter exporter = new JRRtfExporter();
                
                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
                exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap);
                
                exporter.exportReport();

                System.err.println("RTF creation time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_XLS.equals(taskName))
            {
                File sourceFile = new File(fileName);
        
                JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
        
                File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".xls");
                
                JRXlsExporter exporter = new JRXlsExporter();
                
                HashMap fontMap = new HashMap();
                fontMap.put("sansserif", "DejaVu Sans");
                fontMap.put("serif", "DejaVu Serif");
                fontMap.put("monospaced", "DejaVu Sans Mono");

                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
                exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
                exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap);

                exporter.exportReport();

                System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_JXL.equals(taskName))
            {
                File sourceFile = new File(fileName);

                JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);

                File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".jxl.xls");

                JExcelApiExporter exporter = new JExcelApiExporter();

                HashMap fontMap = new HashMap();
                fontMap.put("sansserif", "DejaVu Sans");
                fontMap.put("serif", "DejaVu Serif");
                fontMap.put("monospaced", "DejaVu Sans Mono");

                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
                exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
                exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap);

                exporter.exportReport();

                System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_CSV.equals(taskName))
            {
                File sourceFile = new File(fileName);
        
                JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
        
                File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".csv");
                
                JRCsvExporter exporter = new JRCsvExporter();
                
                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
                
                exporter.exportReport();

                System.err.println("CSV creation time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_ODT.equals(taskName))
            {
                File sourceFile = new File(fileName);
        
                JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
        
                File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".odt");
                
                JROdtExporter exporter = new JROdtExporter();
                
                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
                
                exporter.exportReport();

                System.err.println("ODT creation time : " + (System.currentTimeMillis() - start));
            }
            else if (TASK_RUN.equals(taskName))
            {
                JasperRunManager.runReportToPdfFile(fileName, null, new JREmptyDataSource());
                System.err.println("PDF running time : " + (System.currentTimeMillis() - start));
            }
            else
            {
                usage();
            }
        }
        catch (JRException e)
        {
            e.printStackTrace();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

 

分享到:
评论

相关推荐

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

    需要JDK、Web服务器和数据库的相关配置,并确保ireport和jasperreports库的正确引入。 8. **报表设计详解** - **Band**: 报表设计的核心概念,类似于页面的行。有多种类型的Band,如Page Header, Detail, Page ...

    ireport 制作jasper报表文件

    **ireport制作jasper报表文件** 在IT行业中,报表生成是一项关键任务,它帮助企业分析数据、做出决策。IReport和JasperReports是两个强大的开源工具,用于设计和生成复杂的报表。本文将深入探讨如何使用IReport来...

    jasper+ireport化复杂为简单系列教程1

    ### jasper+ireport化复杂为简单系列教程1 #### iReport设计器应用 **iReport** 是一个强大的报表设计工具,常被用于生成复杂的报表。本教程旨在通过一系列实例简化 iReport 的使用过程,帮助读者更好地掌握其核心...

    ireport+jasper中文手册 pdf版

    《ireport+jasper中文手册》是一本针对Java报表开发工具ireport和jasperReports的详尽指南,旨在帮助开发者在Java环境下高效地设计和生成复杂的报表。这份PDF版的手册涵盖了这两个工具的基础知识、进阶功能以及实际...

    ireport itext jasper-compiler

    标题中的"ireport itext jasper-compiler"涉及到了三个关键组件:iReport、iText和JasperReports的编译器。这些组件都是Java开发中用于报表生成的重要工具。 iReport是一款开源的报表设计工具,它是JasperReports库...

    ireport + jasper的使用

    【标题】:“ireport + jasper的使用” 【描述】:在Java开发中,报表的生成和展示是一项重要任务,ireport和jasper是两个强大的报表工具,它们可以帮助开发者高效地设计、创建和管理复杂的报表。ireport是用于设计...

    jasper+ireport报表例子

    ireport+jasper报表,报表时项目中不可缺少的模块,我把前辈的东西拿来修改了一下终于实现了自定义报表。希望对大家有帮助,由于资源分不多了,因此3分就当做是辛苦分吧,代码详尽,数据库字段自己定义,有问题联系...

    JavaWeb_Ireport_Jasper_JavaBean_Mysql

    在本项目"JavaWeb_Ireport_Jasper_JavaBean_Mysql"中,开发者使用了这些技术来实现一个数据驱动的报表系统。 Ireport是一个流行的报表设计工具,它是JasperReports库的一部分,允许开发者通过直观的用户界面创建...

    iReport-4.5.1(jasper视图编辑工具)

    iReport是专为JasperReports库和JasperReports Server打造的一款强大的报表可视化设计工具,它为用户提供了直观的图形化界面,使得非编程背景的人员也能轻松创建复杂的报表和图表。iReport 4.5.1是其一个稳定版本,...

    ireport scriptlet脚本的使用

    4. **编译和运行**:最后,保存报表模板,使用iReport的编译功能生成`.jasper`文件,然后在你的Java应用中引用这个报表,传递数据源并渲染报表。 对于描述中提及的“将小写金额转换成大小”,这通常涉及到数字到...

    jasper ireport 生成 报表

    标签中提到的"jasper ireport jasper 报表"强调了JasperReports与IReport之间的关系。IReport是JasperReports的一个设计工具,两者结合使用可以实现报表的完整生命周期,从设计、预览到最终生成。 在压缩包中的...

    iReport5.6&Jasperreport;开发报表所需全部jar.zip

    2. **iReport Designer**: 这是iReport的运行时库,如ireport-designer.jar,它提供了报表设计界面和相关功能。这些JAR文件帮助开发者在GUI环境中创建和编辑报表模板。 3. **Third-party Libraries**: 开发报表可能...

    jasper+ireport 折线图、柱状图、网状图等

    主界面:extjs/jasper/pillars.jsp 最近研究了ireport画图形的功能,感觉中间走了很多歪路。想大家不要在重复走别人走过的歪路特此上传源码,供大家参考。还有我用的是oracle数据库 作者:castiel

    SpringMVC+iReport生成二维码的案例

    1. 配置:在SpringMVC的配置文件中,添加iReport的相关依赖,确保在运行时能够正确加载和执行iReport的报表。 2. 数据准备:在Controller中,根据业务需求,收集并处理需要生成二维码的数据。 3. 设计模板:使用...

    iReport-Ultimate-Guide-3.5

    JasperServer, JasperETL, JasperReports, JasperStudio, iReport, and Jasper4 products are trademarks and/or registered trademarks of Jaspersoft Corporation in the United States and in jurisdictions ...

    idempiere ERP和 jasper、ireport

    idempiere ERP和 jasper、ireport 集成文档

    Jasper_+_ireport_集成报表到Web应用,操作说明

    ### Jasper + iReport 集成报表到Web应用详解 #### 第一部分:下载与安装 在集成Jasper Report与iReport到Web应用之前,首要步骤是下载并安装所需的软件。iReport是Jasper Report的一个图形界面设计工具,主要用于...

    iReport5.6版本。加iReport下载地址

    iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。 iReport的遵循AGPL自由开源协议,在SourceForge.net开源社区发布

    jasper5+ireport5

    【jasper5+ireport5】是用于报表生成和设计的工具组合,它们在IT行业中广泛应用于企业级应用,特别是需要复杂数据展示和分析的场景。JasperReports库(jasper5)是一个开源的Java库,它允许开发人员创建、填充和导出...

Global site tag (gtag.js) - Google Analytics