小编Ale*_*x K的帖子

不显示矩形边框

我有一个要求,我需要显示一个由边框包围的数据部分,如下所示:

在此输入图像描述

我尝试在Background band中添加Rectangle组件.在内部预览窗口和PDF预览中,它显示如上,但是当我在服务器中运行它或使用HTML预览时,边框消失.我还试图在Detail带中插入Rectangle组件,并使用Frames而不是Rectangle,围绕数据,但问题相同.

我正在使用iReport 5.0.1,兼容性设置为JasperReports 3.5.1.

这是我的jrxml文件:

<?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="Payslip" pageWidth="1000" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="960" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    <import value="org.joda.time.DateTime"/>
    <style name="Headings" vAlign="Middle" lineSpacing="1_1_2" fontName="Arial" fontSize="12" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
    <style name="Data" isDefault="true" vAlign="Middle" lineSpacing="1_1_2" fontName="Arial" fontSize="11"/>
    <parameter name="rptName" class="java.lang.String" isForPrompting="false"/>
    <parameter name="company" class="java.lang.String"/>
    <field name="empName" class="java.lang.String"/>
    <field name="salaryMonthName" class="java.lang.String"/>
    <field name="salaryMonthYear" class="java.lang.Integer"/>
    <field name="employeeCode" class="java.lang.String"/>
    <field name="designation" class="java.lang.String"/>
    <field name="grade" class="java.lang.String"/>
    <field name="location" class="java.lang.String"/>
    <field name="department" class="java.lang.String"/>
    <field name="branch" …
Run Code Online (Sandbox Code Playgroud)

jasper-reports

3
推荐指数
1
解决办法
8445
查看次数

JasperReports 上的字段内字段

我正在制作一个使用 Jasper Reporting Tools 生成报告的 jsf 应用程序。我正在使用iReport来设计我的报告。我想知道iReport 是否可以接受其他字段内的字段?

所以我这样做了:

$F{student.studentName}在我的 iReport pdf 设计器中。的student目的是在一个场detRecord对象和studentName是在一个场student对象。

不幸的是,当我尝试编译时,iReport给了我这样的错误:

et.sf.jasperreports.engine.design.JRValidationException: Report design not valid :       1. Field not found : student.studentName

任何想法如何传递带有字段的对象,其中也有字段?

java jasper-reports ireport

3
推荐指数
1
解决办法
7676
查看次数

执行SQL中只存在一个

我正在通过Oracle DB创建iReport报告.我必须根据这样的条件选择一些值:

AND EXISTS (SELECT 1 FROM TABLE_1 WHERE x = y)  
OR EXISTS (SELECT 1 FROM TABLE_2 WHERE z = y) 
Run Code Online (Sandbox Code Playgroud)

只有当第一个EXISTS为假时才能执行第二个EXISTS吗?

sql oracle

3
推荐指数
1
解决办法
142
查看次数

使用JasperReports API生成报告时无法从JavaBean检索值

我试图从列表中生成一个简单的JR报告.

我一直在从bean:name获取错误检索字段值

此错误是由于错误的getter方法名称,因为jasper使用反射来从bean中获取字段.但即使在更正了getter方法名称之后.我一直得到这个例外.还有其他问题吗?

我的jrxml文件是

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE jasperReport PUBLIC  "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">

<jasperReport name="simpleReport">
  <field name="name" class="java.lang.String"/>
  <field name="count" class="java.lang.String"/>
  <title>
        <band height="50">
            <staticText>
          <reportElement x="0" y="0" width="180" height="15"/>
            <textElement/>
          <text><![CDATA[Report]]></text>
        </staticText>
        </band>
    </title>
  <pageHeader>
      <band/>
  </pageHeader>
  <columnHeader>
        <band height="20">
        <staticText>
          <reportElement x="180" y="0" width="180" height="20"/>
        <textElement>
            <font isUnderline="true"/>
        </textElement>
        <text><![CDATA[Event Name]]></text>
      </staticText>
      <staticText>
        <reportElement x="360" y="0" width="180" height="20"/>
        <textElement>
          <font isUnderline="true"/>
        </textElement>
        <text><![CDATA[Count]]></text>
      </staticText>
    </band>
  </columnHeader>
  <detail>
    <band height="20"> …
Run Code Online (Sandbox Code Playgroud)

java jasper-reports

3
推荐指数
1
解决办法
3410
查看次数

可选的where子句jasper报告

我正在尝试此查询但没有成功.

SELECT name, phone_office, billing_address_city, billing_address_street, billing_address_country 
FROM accounts
WHERE ($P!{EmployeeID} is null or assigned_user_id = $P!{EmployeeID})
ORDER BY billing_address_country, billing_address_city
Run Code Online (Sandbox Code Playgroud)

这个网址将按EmployeeID进行过滤,工作正常:

.../flow.html?_flowId=viewReportFlow&reportUnit=/reports/samples/EmployeeAccounts&EmployeeID=sarah_id
Run Code Online (Sandbox Code Playgroud)

但是,当我删除EmployeeID参数时,我想删除过滤器在哪里.所以应该显示所有结果.

.../flow.html?_flowId=viewReportFlow&reportUnit=/reports/samples/EmployeeAccounts
Run Code Online (Sandbox Code Playgroud)

我的问题是,在sql查询中传递可选where的正确方法是什么.

sql jasper-reports jasperserver

3
推荐指数
1
解决办法
7108
查看次数

将报告生成为 txt 文件 - 如何设置列标题和详细信息带中文本的确切位置和大小

我们需要使用JasperReports生成文本报告。
精度要准确,样本格式如下

在此处输入图片说明

  1. 标题用户名必须从第 0 列开始。
  2. 上次访问的标题必须从第 23 列开始。
  3. 标题处于活动状态必须从第 34 列开始。
  4. 行分隔符必须有 8 个字符 (---) 并从第 22 列开始
  5. 名称字段必须左对齐并从第 1 列开始
  6. 点字段必须右对齐并在第 45 列结束,精度为 1 位。

所述的JasperReportsexportToText方法不满足上述标准和反复调整的.jrxml未投放的目的。
我们也调整了字符宽度和字符高度,但行和列之间的间距仍然不正确。

JasperReports API是否支持文本格式的这种精度?
有没有其他 API 可以帮助我们实现这种格式?

java jasper-reports fixed-width

3
推荐指数
1
解决办法
2万
查看次数

如何将已编译的JasperReport保存为文件中的.jasper

我有这个代码.我有一个jrxml文件.我可以成功创建一个jasperReport对象.但我不知道如何从此创建jasper文件,我想将jasper保存到c盘中的文件位置.

JasperReport jasperReport = null;
JasperCompileManager.compileReport(getResourceAsStream("Sample_Report.jrxml"));
    try {
        jasperReport = JasperCompileManager
                .compileReport("C:\\xxx.jrxml");
        System.out.println("jasper created " + jasperReport);
    } catch (Exception e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

java jasper-reports

3
推荐指数
1
解决办法
3445
查看次数

没有总计的交叉表

JasperReports(使用Jaspersoft Studio)中,是否有一种显示内容而不包含总计的方法?

在此处输入图片说明

我在这里有交叉表代码。如果我删除出现的行<crosstabTotalRowHeader><crosstabTotalColumnHeader>,则交叉表将继续显示总计列,即没有标题的列。我需要删除该列。

<crosstab>
    <reportElement x="0" y="0" width="442" height="240" uuid="aae99187-4857-48ad-b2c6-6a66c5e6e89a"/>
    <crosstabDataset>
        <dataset>
            <datasetRun subDataset="grafica_perspectiva" uuid="a819174c-e145-4ad4-a3ef-cddde875ceab">
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
            </datasetRun>
        </dataset>
    </crosstabDataset>
    <rowGroup name="perspectiva1" width="60" totalPosition="End">
        <bucket class="java.lang.String">
            <bucketExpression><![CDATA[$F{perspectiva}]]></bucketExpression>
        </bucket>
        <crosstabRowHeader>
            <cellContents mode="Opaque" style="Crosstab_CH">
                <textField>
                    <reportElement x="0" y="0" width="60" height="20" forecolor="#FFFFFF"
                                   uuid="ff8ba239-2c96-4959-8d57-5751f1e67ce1"/>
                    <textFieldExpression><![CDATA[$V{perspectiva1}]]></textFieldExpression>
                </textField>
            </cellContents>
        </crosstabRowHeader>
        <crosstabTotalRowHeader>
            <cellContents/>
        </crosstabTotalRowHeader>
    </rowGroup>
    <columnGroup name="cot_nombre1" height="30" totalPosition="End">
        <bucket class="java.lang.String">
            <bucketExpression><![CDATA[$F{cot_nombre}]]></bucketExpression>
        </bucket>
        <crosstabColumnHeader>
            <cellContents mode="Opaque" style="Crosstab_CH">
                <textField>
                    <reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="140" height="30"
                                   forecolor="#FFFFFF" uuid="76a9a21c-efed-4164-ab6c-4f91e2bf3903"/>
                    <textFieldExpression><![CDATA[$V{cot_nombre1}]]></textFieldExpression>
                </textField>
            </cellContents>
        </crosstabColumnHeader> …
Run Code Online (Sandbox Code Playgroud)

jasper-reports

3
推荐指数
1
解决办法
4527
查看次数

如何设置报表中图片的相对路径?

所以我有一个显示 jasper 报告的 java 应用程序。我使用Netbeans 的iReport插件在报告中放置了一张图像。在我当前的机器上一切都显示正常,但是当我尝试在另一台机器上运行编译后的 jar 时,报告将无法加载。

从Windows控制台来看,我认为这是因为图像的路径是绝对的,即引用开发机器硬盘上的特定文件夹。我需要使其与 jar 文件相关。我已将图像放入包中并确认它位于编译后的 jar 内。但是当我将iReport中的“图像表达式”值更改为“/reports/Logo.jpg”(其中 /reports 是包)并运行应用程序时,我得到

EXCEPTION: Byte data not found at : /reports/Logo.jpgnet.sf.jasperreports.engine.JRException: Byte data not found at : reports/Logo.jpg
Run Code Online (Sandbox Code Playgroud)

有什么想法要做什么吗?我很困惑,非常感谢任何帮助!

更新:明白了。必须在报表中创建一个参数并从图像表达式中调用该参数。然后我在Java代码中创建了HashMap和InputStream ,并将输入流放入哈希映射中!这么简单的事情却需要这么多代码!

Java代码

        //to get images to display in report, pass their relative path as input stream and add to HashMap
        //there must be one stream and one HashMap per image
        InputStream imgInputStream = this.getClass().getResourceAsStream("/reports/omacLogo.jpg");
        InputStream imgInputStream2 = this.getClass().getResourceAsStream("/reports/omacLogo.jpg");
        parameters.put("omacLogo", imgInputStream);
        parameters2.put("omacLogo", …
Run Code Online (Sandbox Code Playgroud)

java jasper-reports

3
推荐指数
1
解决办法
1万
查看次数

格式/模式问题 - 将 Int 附加到文本会导致格式错误

所以我遇到了JasperReports模式字段的问题。我创建了一个交叉表,我需要所有的都$F{ScoreMeasure}具有两位小数并附加“%”符号。例如,$F{ScoreMeasure}交叉表中的单元格应显示 25.42%。

我遇到的问题是我通过将“%”符号添加到文本字段表达式来附加“%”符号:$V{ScoreMeasure}+"%"。这对于整数来说效果很好。

当我尝试通过添加模式来添加两位小数#,##0.00并运行报告时,我得到一些字段有两位小数,而其他字段有多个小数(最多 8 位)。

如果我从文本字段表达式中删除附加文本(+“%”),我会得到正确的格式。但我不知道如何获得这两个?

以下是它在没有附加“%”的情况下工作时的摘录:

<crosstabCell width="73" height="25" rowTotalGroup="Name">
                    <cellContents backcolor="#005FB3" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField pattern="#,##0.00">
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="73" height="25" forecolor="#FFFFFF" uuid="50401fd4-b9b1-4bf2-bd74-9a0f083e77ff"/>
                            <textElement verticalAlignment="Middle">
                                <font fontName="Arial"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$V{ScoreMeasure}
]]></textFieldExpression>
                        </textField>
                    </cellContents>
Run Code Online (Sandbox Code Playgroud)

这里附加了破坏格式的文本:

<crosstabCell width="73" height="25" rowTotalGroup="Name">
                    <cellContents backcolor="#005FB3" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField pattern="#,##0.00">
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="73" height="25" forecolor="#FFFFFF" uuid="50401fd4-b9b1-4bf2-bd74-9a0f083e77ff"/>
                            <textElement verticalAlignment="Middle"> …
Run Code Online (Sandbox Code Playgroud)

jasper-reports

3
推荐指数
1
解决办法
2607
查看次数

标签 统计

jasper-reports ×9

java ×5

sql ×2

fixed-width ×1

ireport ×1

jasperserver ×1

oracle ×1