jasper报告:无法施放错误

时间:2014-12-10 13:02:17

标签: jasper-reports

我有一个项目,其中jasper报告是从java方法创建的。我的碧玉代码如下:

<?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="balance" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30" isFloatColumnFooter="true" >
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <style name="Table">
        <box>
            <pen lineWidth="1.0" lineColor="#FF0000"/>
        </box>
    </style>
    <style name="TableHeader" mode="Opaque" forecolor="#FFFFFF" backcolor="#006F3A"/>
    <style name="TableFooter" mode="Opaque" backcolor="#C0C0C0"/>
    <subDataset name="TableData" >
        <field name="participantName" class="java.lang.String"/>
        <field name="familySize" class="java.lang.String"/>
        <field name="participantAge" class="java.lang.String"/>
    </subDataset>
    <title>
        <band height="150">
            <componentElement>
                <reportElement style="Table" x="0" y="50" width="555" height="100" />
                <c:table xmlns:c="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
                    <datasetRun subDataset="TableData" />
                    <c:column width="80" >
                        <c:columnHeader style="TableHeader" height="30" rowSpan="1">
                            <box leftPadding="10">
                                <pen lineColor="#000000"/>
                                <bottomPen lineWidth="0.5"/>
                            </box>
                            <staticText>
                                <reportElement x="0" y="0" width="70" height="30" >
                                    <printWhenExpression><![CDATA[new Boolean($F{participantName}!= null)]]></printWhenExpression>
                                </reportElement>
                                <textElement verticalAlignment="Middle">
                                    <font size="12" isBold="true"/>
                                </textElement>
                                <text><![CDATA[Name]]></text>
                            </staticText>
                        </c:columnHeader>
                        <c:detailCell height="15" rowSpan="1">
                            <box leftPadding="10">
                                <bottomPen lineWidth="0.5"/>
                            </box>
                            <textField isStretchWithOverflow="true">
                                <reportElement x="0" y="0" width="70" height="15" />
                                <textFieldExpression><![CDATA[$F{participantName}]]></textFieldExpression>
                            </textField>
                        </c:detailCell>
                    </c:column>
                    <c:column width="80" >
                        <c:columnHeader style="TableHeader" height="30" rowSpan="1">
                            <box leftPadding="10">
                                <pen lineColor="#000000"/>
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                            </box>
                            <staticText>
                                <reportElement x="0" y="0" width="70" height="30" >
                                    <printWhenExpression><![CDATA[new Boolean($F{familySize}!= null)]]></printWhenExpression>
                                </reportElement>
                                <textElement verticalAlignment="Middle">
                                    <font size="12" isBold="true"/>
                                </textElement>
                                <text><![CDATA[FSize]]></text>
                            </staticText>
                        </c:columnHeader>
                        <c:detailCell height="15" rowSpan="1">
                            <box leftPadding="10">
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                            </box>
                            <textField>
                                <reportElement x="0" y="0" width="70" height="15" />
                                <textFieldExpression><![CDATA[$F{familySize}]]></textFieldExpression>
                            </textField>
                        </c:detailCell>
                    </c:column>
                    <c:column width="80" >
                        <c:columnHeader style="TableHeader" height="30" rowSpan="1">
                            <box leftPadding="10">
                                <pen lineColor="#000000"/>
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                            </box>
                            <staticText>
                                <reportElement x="0" y="0" width="70" height="30" >
                                    <printWhenExpression><![CDATA[new Boolean($F{participantAge}!= null)]]></printWhenExpression>
                                </reportElement>
                                <textElement verticalAlignment="Middle">
                                    <font size="12" isBold="true"/>
                                </textElement>
                                <text><![CDATA[Age]]></text>
                            </staticText>
                        </c:columnHeader>
                        <c:detailCell height="15" rowSpan="1">
                            <box leftPadding="10">
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                            </box>
                            <textField>
                                <reportElement x="0" y="0" width="70" height="15" />
                                <textFieldExpression><![CDATA[$F{participantAge}]]></textFieldExpression>
                            </textField>
                        </c:detailCell>
                    </c:column>
                </c:table>
            </componentElement>
        </band>
    </title>
</jasperReport>

 问题是在运行时我得到以下错误: 无法创建报告流org.xml.sax.SAXParseException; lineNumber:26; columnNumber:30;第26行char 30处的错误:net.sf.jasperreports.engine.design.JRDesignComponentElement无法强制转换为net.sf.jasperreports.engine.JRBoxContainer。 请帮我解决这个问题并提前感谢..

1 个答案:

答案 0 :(得分:0)

当我将jar-“jasperreports”从“3.1.2升级到3.7.2”时,上述问题已经解决了。此外,我已将itext.jar升级到2.1.5并将poi.jar升级到3.5 FINAL以修复字体问题和pdf导出问题。我希望它适用于所有人..