2 baidu 34666990 baidu_34666990 于 2016.04.15 09:24 提问

JasperReports Subreport 表生成时赋值问题

在给对应report模板赋值的时候在上级map 中不是应该添加对应subreport expression
作为key对应的子报表的jasper
JasperReport report3 = (JasperReport) JRLoader.loadObject(reportFile3); //子报表;
m.put("$P{SUBREPORT_DIR}+PRN29Report_subreport3.jasper",report3);

net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : $P{SUBREPORT_DIR} + "PRN29Report_subreport3.jasper"
at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:203)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:591)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:559)
at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:966)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateReport(JRFillSubreport.java:295)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:361)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:286)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:459)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2044)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:778)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:288)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:151)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:88)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:969)

就报了如上错误 求大大帮忙解决一下

1个回答

xxmvzeetbb
xxmvzeetbb   2016.10.08 01:40

asper
JasperReport report3 = (JasperReport) JRLoader.loadObject(reportFile3); //子报表;
m.put("$P{SUBREPORT_DIR}+PRN29Report_subreport3.jasper",report3);
net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : $P{SUBREPORT_DIR} + "PRN29Report_subreport3.jasper"
at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:203)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:591)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:559)
at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:966)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateReport(JRFillSubreport.java:295)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:361)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:286)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:459)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2044)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:778)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:288)
at net.sf.jasperreports.engine.fill.JRVerticalF

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JasperReport动态表头及subreport实现多表
使用subreport实现多表分页并动态适应列数,目前还在努力实现中,后续将更新。。。
JasperReports Subreport 实例
 公司的项目需要将数据导出为excel和pdf,之前用过vba和poi,这次要使用jasper reports,期间遇到一个关于subreport的问题,现已解决,放出给大家参考。首先说明一下,subreport是iReport template编辑器中的一个概念,相当于主从关系,比如有主列表里面是国家名称,在每个国家名称下,会有不同的城市名称。这里仅演示二级从属关系,按需求可以再使用subreport扩展为多层关系。这是效果图:开始贴代码:subreport.jrxml(主表)
Jasperreports+jaspersoft studio学习教程(八)- 子报表Subreport(父子报表互相传值)
有很多人都说Jasperreports不适合中国式复杂报表,实际上运用好父子报表可以解决大部分问题了。例如下面的表。每个学生的学科数目不固定,且每个学生后有相当于小计的平均分。有点复杂度的报表,可以使用子报表解决。 8.1 设计报表模板 8.1.1 新建主模板DemoReport6_main.jrxml,创建Paramters :title(java.lang.
DevExpress XtraReports控件创建主从报表的两种方法
如果一份报表是用来显示分层数据源的数据,则它通常被称为主从报表。本文介绍了在DevExpress XtraReports控件中创建主从报表的两种方法。第一种方法是基于Detail Report Band之上的,适用于当数据源在主实例和从实例间包含一个ADO.NET关系的情况。第二种方法是创建两个不同的报表类,将从报表作为一个子报表并入主报表中。 使用Detail Report Band创建主从报
ireport jasperreport 主报表向子报表传递参数
主报表向它的自报表传递参数,如下: 1、新建主报表:main_report   2、创建子报表:sub_report     3、在子报表中声明要传入的参数:fromMainReport     4、设置主报表参数,用来显示区别子报表的参数:   5、在主报表中声明需要传递的参数,用来接收外界传递的参数数据,参数分别为meValue,mai
FastReport报表 设计复杂报表使用子报表解决(图文)
今天做的一个复杂报表,涉及到使用2个数据源,其中一个读取一条记录在页面显示,另外一个读取关联数据将多条记录在页面中间显示。可以直接在Data band中添加子数据只能在页面最下面显示循环记录。经过简单的探索发现,可以使用子报表的方式来实现需求,也就是在页面中间添加一个subreport,报表会单独增加一页,然后在这个页面进行设计即可。这里就是子报表设计的页面。页面分开设计,还可以避免互相的干扰,也
JasperReport报表开发之转置交叉表
使用Jasper或BIRT等报表工具时,常会碰到一些非常规的统计,用报表工具本身或SQL都难以处理,比如源数据不符合交叉表的要求,需要转置后再呈现。集算器具有结构化强计算引擎,集成简单,可以协助报表工具方便地实现此类需求。下面通过一个例子来说明转置交叉表的实现过程。    数据库表booking汇总着各年度商品的预定数据,有四个字段,包括年份和三种预定状态,部分数据如下:
jasperReport导出html预览,图片的显示问题
javaeye找的。原网址:http://zmx.iteye.com/blog/583482 非常激动。算是解决了html图片的显示问题 如果要想以HTML形式显示报表内容则还需要在web.xml配置jasperReport自带的一个servlet如下: JasperReportImageServlet
JasperReport:几个莫名其妙的问题的解决
JasperReport各种莫名奇妙问题的解决 JasperReportC/S报表struts2struts2-jasperreport-plugin          也许你不曾遇到如题问题,那恭喜你,但你是否会疑惑为何我没有遇到而你们却遇到这种问题呢,我们可都是应用的struts2框架哦!!!是啊,为什么呢?有兴趣的不妨看看这篇博文http://peterliuye.javaeye.c
jasperreport6 导出pdf中文不显示问题解决方式
本文档描述了如何解决导出pdf文件中文不显示问题。jasperreport6版本以上已经对pdf font name、pdf encoding等配置弃用,而改为使用font配置字体,所以以前使用itext jar包的方式已经不能解决pdf中文不显示问题,那么修改fonts中的字体文件,可以一劳永逸解决该问题。