我需要创建一个报告,其中列数根据传递给iReport的数据而变化,就像子报表一样.有没有办法做到这一点?
我正在使用Java中的JasperReports生成PDF.我终于成功地让Jasper正确地对报告进行了分页.问题是,现在我在报告的末尾得到一个空白页面(打印标题,但细节带是空白的).为细节带传递的信息全部显示,因此不需要该页面(更重要的是,在最后一页的末尾有一个空白区域).我将在问题的最后附上JXML,任何帮助表示赞赏.
谢谢!
这是JXML文件的内容:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="tintoreria" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isFloatColumnFooter="true">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="288"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["C:\\work\\REPO-CTK\\lasastra-world\\core\\src\\main\\resources\\jasper\\tintoreria\\"]]></defaultValueExpression>
</parameter>
<parameter name="totalItems" class="java.lang.String"/>
<parameter name="nroPag" class="java.lang.String"/>
<parameter name="totalPag" class="java.lang.String"/>
<parameter name="supplier" class="java.lang.String"/>
<parameter name="creationDate" class="java.lang.String"/>
<parameter name="orderNumber" class="java.lang.String"/>
<parameter name="fechaPedido" class="java.lang.String"/>
<parameter name="datasourceParam" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/>
<queryString>
<![CDATA[]]>
</queryString>
<pageHeader>
<band height="119" splitType="Stretch">
<rectangle radius="10">
<reportElement x="0" y="0" width="555" height="119" backcolor="#CCCCFF"/>
<graphicElement>
<pen lineWidth="1.75"/>
</graphicElement>
</rectangle>
<staticText> …Run Code Online (Sandbox Code Playgroud) 我是Jasper Reports和iReports的新手,我用它来设计报告.我目前正在iReport中设计一个报告,并希望以excel(xls)导出它.这是我要设计的屏幕截图,第二个屏幕是我得到的.
图片由ImageShack.us提供http://img850.imageshack.us/img850/4254/samplett.png
拍摄于2012-08-04
这是我设法得到的.如您所见,输出中存在许多问题.
图片由ImageShack.us提供http://img594.imageshack.us/img594/3103/myreport.png
拍摄于2012-08-04
这是我到目前为止所做的事情的来源:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" language="groovy" pageWidth="792" pageHeight="612" orientation="Landscape" columnWidth="792" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="1e5ee76a-b072-4f31-a1ce-d0c921d2ce55">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="21" splitType="Stretch">
<staticText>
<reportElement uuid="557d6e9d-b389-4710-a66f-f15678ebb003" x="1" y="1" width="119" height="20"/>
<textElement>
<font size="14" isBold="true"/>
</textElement>
<text><![CDATA[Sample Heading]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band height="71" splitType="Stretch">
<staticText>
<reportElement uuid="3d8bfb44-a4ce-409f-a626-4bdba125b0a4" …Run Code Online (Sandbox Code Playgroud) 我需要在我的Web应用程序中使用报告功能.我在Google上搜索过,发现JasperReports是最好的Java报告框架.
我想了解JasperReports但是当我去他们的网站时,我也发现了iReport.
我检查了下载网站,它说. 如果您对JasperReports感兴趣,特别是如果这是您第一次下载,我们建议您考虑下载iReport.iReport下载包括JasperReports.
这是否意味着我应该学习iReport?或者哪个是哪个.
这应该是关于JasperReports的一个简单问题.我试图在整个报告中做一个简单的计数器,它应该根据条件递增.但是,无论我尝试什么,无论变量表达式如何,似乎计数器变量总是递增.我的变量的定义属性如下:
类:整数
计算:计数
重置类型:报告
增量类型:无
变量表达式:初始值:$F{on_target}.doubleValue() >= 0.0
Integer.valueOf(0)
我在数据集中总共有23行,并且根据标准,计数器最终应该等于18.我在摘要带中输出变量,评估时间为现在.但是,无论评估时间如何,甚至将变量表达式设置为Boolean.valueOf(true == false),变量的值总是最终为23.
我忘了什么简单的小事?
我已经创建了一个框架和子报表,用于与APEX集成,并精炼到我准备在JasperServer上部署的地步.不知何故,确切的语法正在打败我.我已经尝试了以下问题所表明的所有变化,但似乎没有任何效果.我正在使用Glassfish,顺便说一句,但我认为这不重要.这是我的问题:
部署子报表时,是作为报表还是作为JRXML文件进行部署?
我是否需要为子报表设置输入控件,如框架报告所传递的那样?
只要我将正确的SUBREPORT_DIR参数传递给框架,部署子报表(文件夹结构)的位置是否重要?
在那SUBREPORT_DIR,我尝试了几个不同的东西.首先,我将默认设置作为本地盒子上的绝对路径,用于调试目的,并在URL中传递我想要的值(即...&SUBREPORT_DIR =/Subreports/...).我也尝试将默认设置为我想要的路径.既不起作用,但前者是否应该起作用?
传递的实际语法是SUBREPORT_DIR什么?我已将框架报告部署为"/ reports/frame",将子报告部署为"/ reports/subreports/sub",因此我传递了"repo:/ Subreports /"(URL中没有引号,默认为引号)在框架上).
我的框架和子工作在iReport中使用与我传递的相同的参数,但它们根本不起作用.我可以在JasperServer下加载sub作为报告,传递params帧传递,然后让它工作,但是当我尝试运行框架时,没有骰子.
在此先感谢所有帮助,我希望一旦我得到正确的配置,我会付清.
我在jasperreports模板中有一些utf-8字符.在iReport编辑器中一切都很好.但是在编译输出后PDf无法绘制有效的unicode字符并绘制?代替.
我该如何解决?谢谢
我正在使用iReport 2.0.2.在Excel导出器的帮助下生成报表后,我在格式化数字数据时遇到问题.
例如,85110057689字符串显示为8.51100e+10Excel文件(作为在iReport中使用"Excel中的预览"按钮的结果).
请建议如何将格式更改为简单(非科学).
我的主报告包含5个字段,其中4个是java.lang.String类型,最后一个是java.util.List类型.我使用后者作为子报表的数据源.我设置了数据源中的报表.
子报告属性:
连接类型 :使用数据源表达式
数据源表达式:new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($ F {Field5})
传递数据工作正常(我猜)因为当我在Java应用程序中填充报表时.我可以查看传递到字段1到4但在字段5中的数据,首先,我无法验证,因为子报表不显示数据,只有列标题中定义的静态文本.
然后,当我把领域的报表在页脚,我发现数据被顺利通过,问题在于细节乐队本身没有显示.
为什么没有显示?
在子报表属性中,我有:
没有数据时:所有部分,无详细信息
任何人都可以对此有所了解.
我需要获取jasper文件中定义的参数,以便根据这些参数的类型生成输入以填充报告.
我正在和我一起工作jasperreports-5.0.0
ireport ×10
jasper-reports ×10
java ×2
counter ×1
excel ×1
jasperserver ×1
java-ee ×1
report ×1
subreport ×1
variables ×1