Excel Group by和Jasper Reports中的大纲

时间:2011-11-29 17:44:50

标签: java excel jasper-reports grouping

我正在使用Jasper Reports导出到Excel,我想知道是否可以导出带分组的电子表格。

我的意思是,在jasper中创建一个已经分组的数据报告,这样当我在excel上打开它时,我可以使用+/-按钮展开/折叠它们。

grouping open

grouping closed

1 个答案:

答案 0 :(得分:3)

是的,你可以在net.sf.jasperreports.export.xls.row.outline.level.{n}财产的帮助下完成。

有关导出到Excel功能的信息为here

您可以在*$jasperreports_folder$\demo\samples\xlsfeatures*文件夹中查看JasperReports包中的示例。

样本:

<group name="citygroup">
    <groupExpression><![CDATA[$F{city}]]></groupExpression>
    <groupHeader>
        <band height="20">
            <textField>
                <reportElement x="0" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA["City: " + $F{city}]]></textFieldExpression>
            </textField>
        </band>
    </groupHeader>
    <groupFooter>
        <band height="21">
            <textField>
                <reportElement x="0" y="1" width="100" height="20">
                    <!-- Outline row group ends here-->
                    <property name="net.sf.jasperreports.export.xls.row.outline.level.1" value="End"/>
                </reportElement>
                <textElement/>
                <textFieldExpression><![CDATA["Total: " + $V{citygroup_COUNT}]]></textFieldExpression>
            </textField>
        </band>
    </groupFooter>
</group>
<detail>
    <band height="20" splitType="Stretch">
        <textField>
            <reportElement x="0" y="0" width="100" height="20">
                <!-- Outline row group starts here-->
                <property name="net.sf.jasperreports.export.xls.row.outline.level.1" value="Body"/>
            </reportElement>
            <textElement/>
            <textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
        </textField>
        <textField>
            <reportElement x="100" y="0" width="100" height="20"/>
            <textElement/>
            <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
        </textField>
        <textField>
            <reportElement x="200" y="0" width="100" height="20"/>
            <textElement/>
            <textFieldExpression><![CDATA[$F{address}]]></textFieldExpression>
        </textField>
    </band>
</detail>

限制:

此示例在 iReport 4.1.3版本 中正常工作(通过预览功能导出到 xls ),但 < em> 4.1.2 版本。这可能是 4.1.3 版本的新功能(请参阅release notes)。