`
yongboy
  • 浏览: 105833 次
  • 来自: ...
博客专栏
E16f1064-1c93-305c-9ed5-2118b09bada4
Servlet 3.0 学...
浏览量:0
社区版块
存档分类

JasperReports 的进阶使用

阅读更多

 注:当前在《建立第一个JavaBean数据源报表.doc》基础上进行操作

一.PDF中文不显示问题
中文问题一般出现在生成PDF的时候,出现症状为所有中文都不显示。
iReport 3.0
选择PDF预览,然后再次选择“执行报表(使用动态链接)”,就可以生成当前报表的PDF文件了。

默认情况下,在iReport的安装目录下可以找到生成的PDF文档,看一下,是不是所有的中文字符都丢失了呢。

咱们解决这个问题呢,很简单,在可能显示中文的地方,鼠标选中,右键选择属性,弹出窗口,点击“Font”进行字体设置:

注意:
Font Name :
选择宋体或其它
PDF Font Name 
选择STSong-Light

PDF Embedded 勾选

PDF Encoding 要选择UniGB-UCS2-H(Chinese Simplified)


再次“执行报表(使用动态链接)”即可。

二.引入图表显示
      
在报表中,一般少不了图表进行形象显示:

在模板页面上点击右键,选择“栏的属性”,弹出,选择“summary”(用于总结报表的报表栏):

 

我们准备在 summary 栏内,显示图表,但其所具有的高度不能为020个高度太小了啊吧 ?那就200吧。填写完毕,一定要选择 "Apply" 按钮,然后关闭。

在工具栏内,找到图表工具按钮:

 

点击之后,在"Summary"区域选择一片区域,自动弹出一个图表选择窗口:

 

这里选择3D柱状图。

下面要设置柱状图的属性,选中,右键,“Chart Properties”。

 

选中“Chart Data”选项卡,点击“Details”选项卡,点击”Add“按钮,弹出

 

输入如上图示表达式,然后OK即可。执行动态报表,即可看到效果。

PS:

若图表图片来自于已有的系统,是否可以融入到当前报表中来,答案是肯定的。

在工具栏内,找到图片按钮,部署到相应位置,即可设置图片的地址,宽和高等参数:

 

"Image Expression" 中,输入图片的访问地址,可附加参数,这样就和既有系统进行交互了。看看效果图吧:

 

.如何使用jasper文件进行生成PDF文档
      
public static void main(String[] args) throws Exception {

       try {

           // 生成测试数据

           DailySales[] datas = { new DailySales(" 货号 1", " 物品1 ", 1, 1000),

                  new DailySales(" 货号 2", " 物品 2", 2, 2000),

                  new DailySales(" 货号 3", " 物品 3", 3, 3000),

                  new DailySales(" 货号 4", " 物品 4", 4, 4000),

                  new DailySales(" 货号 5", " 物品 5", 5, 5000),

                  new DailySales(" 货号 6", " 物品 6", 6, 6000),

                  new DailySales(" 货号 7", " 物品 7", 7, 7000),

                  new DailySales(" 货号 8", " 物品 8", 8, 8000),

                  new DailySales(" 货号 9", " 物品 9", 9, 9000),

                  new DailySales(" 货号 10", " 物品 10", 10, 10000) };

           List<DailySales> data = Arrays.asList(datas);

           //获取数据源

           JRDataSource dataSource = new JRBeanCollectionDataSource(data);

           // 报表模板文件

           String reportFilePath = "d:/ireport/First.jasper";

           // 生成JasperPrint

           JasperReport report = (JasperReport) JRLoader

                  .loadObject(reportFilePath);

           // 要传入的参数数组

           Map params = new HashMap();

           JasperPrint jasperPrint = JasperFillManager.fillReport(report,

                  params, dataSource);

           // 设定输出格式以及输出路径

           OutputStream ouputStream = new FileOutputStream("d:/test.pdf");

           // 使用JRPdfExproter导出器导出pdf,导出不同格式文件,需要使用不同的导出器

           JRPdfExporter exporter = new JRPdfExporter();

           // 设置JasperPrintList

           exporter

.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);

           exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,

                  ouputStream);

           exporter.exportReport();

           ouputStream.close();

       } catch (Exception e) {

           e.printStackTrace();

       }

}
.生成HTML格式报表图片显示不出来

       a.假如报表不含有图表的话,可直接把 pr 文件放入到web项目images目录下
    b.
若含有复杂报表图片等,则需要在web项目的web.xml文件中添加一个图片servlet 路径映射:
<servlet>

       <servlet-name>ImageServlet</servlet-name>     <servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>

    </servlet>

    <servlet-mapping>

       <servlet-name>ImageServlet</servlet-name>

       <url-pattern>/servlets/image</url-pattern>

</servlet-mapping>

分享到:
评论
1 楼 nopain_nogain 2009-03-15  

    Find it,thank you so much.

相关推荐

    jasperreports-1.3.3与iReport1.3.3初级使用

    六、进阶使用 6.1 数据绑定和表达式 JasperReports支持数据绑定,允许你将报表字段与数据源中的字段关联。同时,你可以使用表达式语言(JasperReports Expression Language,JEXL)来实现动态计算和过滤数据。 6.2...

    iReport+JasperReports教程

    总的来说,iReport和JasperReports结合使用,提供了一个强大的报表开发平台,不仅能满足日常的报表需求,也能处理复杂的业务分析报表。通过这个教程,你可以掌握从基础到进阶的报表设计技能,提升你的Java应用中的...

    jasperreports.rar

    在Java应用中,JasperReports通常与iReport结合使用,iReport是一个可视化的报表设计工具,开发者可以使用它来创建复杂的报表布局。 **一、JasperReports的核心概念** 1. **报表模板(JasperReport)**:报表的...

    ireport+jasper中文手册 pdf版

    手册会介绍jasperReports的核心概念,如报表模板(jrxml文件)、报表填充过程、参数传递和子报表的使用。 中文手册中的主要内容可能包括: 1. ireport和jasperReports的安装与配置:讲解如何在不同操作系统上安装...

    ireport学习资料

    “iReport+jasperReports 联合开发JAVA报表.rar”这个文件可能包含的是关于如何联合使用iReport和JasperReports进行Java报表开发的实例和教程。JasperReports是一个强大的开源报表库,可以生成PDF、HTML、Excel等...

    ireport

    这本书详细介绍了JasperReports的各个方面,包括Ireport的设计原理、使用方法和最佳实践,对于初学者和进阶开发者来说都是极好的参考资料。 通过深入学习Ireport,你可以掌握如何设计复杂的报表布局,如何处理...

    IReport v1.0 用户手册

    对于进阶用户,手册还会涵盖更高级的主题,如脚本语言支持、子报表的嵌套、动态Jasper等,帮助用户实现更复杂的报表功能。 通过阅读《IReport v1.0 用户手册》中的ireport-cn-1.htm和ireport-cn-1.files,用户可以...

    jasperReport详细教程及例子

    进阶特性 - **样式和样式表**: 可以使用CSS样式表自定义报表外观。 - **条件样式**: 根据数据值动态改变单元格的样式。 - **脚本let**: 定义报表级别的变量和方法,增强报表逻辑。 - **分组和汇总**: 支持行级、页...

    iReport开发手册

    进阶使用** - **子报表**:在主报表中嵌入其他报表,实现复杂结构。 - **参数和变量**:定义报表参数,传递外部值,创建动态报表。 - **事件处理**:使用脚本和事件处理程序实现更复杂的逻辑。 - **样式表和模板**...

    ireport user manual

    9. ** JasperReports库集成**:如果你的项目使用了JasperReports库,手册还会指导你如何在Java代码中编译和运行iReport设计的报表。 10. **高级特性**:包括自定义组件、脚本、事件处理等,这些进阶主题可以帮助你...

    iReportTeam.pdf

    五、进阶技巧与扩展 除了基础功能,iReport还支持自定义函数、脚本语言和样式表。开发者可以通过编写插件扩展其功能,例如,`net.sf.jasperreports.engine.fill.JRFiller`接口允许自定义填充行为,以实现更复杂的...

    ireport资料

    这些知识点涵盖了iReport和JasperReport的基础到进阶使用,对于开发复杂的业务报表或者集成报表系统有着重要的指导作用。通过学习和实践这些教程和示例,开发者可以提升报表设计和开发能力,满足各种业务需求。

    ireport中文用户手册

    进阶使用:** - **子报表和嵌套报表**:可以在主报表中嵌入其他报表,实现复杂的数据结构。 - **图表和图像**:iReport 支持创建各种图表,如柱状图、饼图,还可以导入和显示图片。 - **事件和脚本**:利用Java脚本...

    iReport-Ultimate-Guide-3.5

    《iReport-Ultimate-Guide-3.5.pdf》这本书提供了关于iReport 3.5的全面教程,包括基础操作、高级特性和实战案例,是学习和进阶iReport的重要参考资料。书中涵盖了报表设计的各个环节,从新手入门到精通,都可从中...

    JasperReport 学习之路

    - **深入研究**:下载并仔细研读《The JasperReports Ultimate Guide 1.0.pdf》,这本书涵盖了JasperReport的基础知识、工作原理以及常见问题解答,非常适合初学者和进阶用户。 - **社区资源**:参与Java研究论坛的...

    ireport 资源文档

    IReport技术手册.doc可能是对ireport各项功能的详细介绍,包括但不限于报表设计界面的使用、字段的添加、数据源的配置、样式和格式的设定、以及如何通过JasperReports API将报表嵌入到Java应用中。手册可能还会涵盖...

    iReport-5.6.0-designer04

    五、进阶使用 除了基本的报表设计,iReport还支持子报表、主从报表、自定义函数等高级特性。通过插件系统,用户还可以扩展其功能,如添加新的图表类型或数据处理模块。 总结,iReport 5.6.0提供了一套强大且易用的...

    iReport 用户手册

    11. **高级特性**:可能包含脚本支持、自定义函数、JasperReports集成等进阶话题,帮助用户充分利用iReport的全部功能。 通过学习《iReport用户手册》,用户不仅可以掌握基本的报表设计技巧,还能了解和运用iReport...

Global site tag (gtag.js) - Google Analytics