Группировка Excel по и структура в Jasper Reports

Я использую Jasper Reports для экспорта в Excel и хочу знать, можно ли экспортировать электронную таблицу с группировкой.

Я имею в виду, создайте отчет в jasper с уже сгруппированными данными, чтобы, когда я открываю его в Excel, я мог использовать кнопки +/-, чтобы развернуть/свернуть их.

группировка открыта

группировка закрыта


person Nico W    schedule 29.11.2011    source источник


Ответы (1)


Да, вы можете сделать это с помощью свойства net.sf.jasperreports.export.xls.row.outline.level.{n}.

Информация о функциях экспорта в Excel находится здесь.

Вы можете изучить образец в пакете JasperReports, в папке *$jasperreports_folder$\demo\samples\xlsfeatures*.

Пример:

<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>

Ограничение:

Этот пример работает правильно (экспорт в xls с помощью функции предварительного просмотра) в версии iReport 4.1.3, но не в 4.1. .2 версия. Возможно, это новая функция версии 4.1.3 (см. примечания к выпуску).

person Alex K    schedule 30.11.2011