Excel Group by и структура в отчетах Jasper - PullRequest
1 голос
/ 29 ноября 2011

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

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

grouping open

grouping closed

1 Ответ

3 голосов
/ 30 ноября 2011

Да, вы можете сделать это с помощью свойства 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 (см. примечания к выпуску ).

...