IReport 5.0 экспорт нескольких листов в Excel



Я пытаюсь разделить свой отчет на несколько листов Excel при экспорте из Jasperserver.

Структура отчета-Главная страница с четырьмя вложенными отчетами. Верхний и Нижний колонтитулы группы для каждого вложенного отчета, заголовок содержит элемент вложенного отчета, в то время как в нижнем колонтитуле я разместил элементы разрыва страницы со свойством..

<property name="net.sf.jasperreports.export.xls.break.after.row" value="true"/> 

Размещение Pbreaks в верхнем / нижнем колонтитуле, похоже, не имеет значения, и каждый вложенный отчет имеет флажок игнорировать разбиение на страницы (true).

Главная отчет обладает этим свойством,

<property name="net.sf.jasperreports.export.xls.one.page.per.sheet" value="true"/>

Я прочитал здесь похожие вопросы и не смог получить никаких результатов с множеством различных комбинаций. Не уверен, что моя проблема специфична для Ireport 5.0.

EDIT: по предложению Зорана, я получил отчет, работающий! (теперь, если только у него не закончится память) вот XML за текстовым полем.

<textField>
<reportElement uuid="73dc8dab-6ebf-4f47-bf8c-a1ab6b4b0454" x="0" y="0" width="100" height="1">
<property name="net.sf.jasperreports.export.xls.break.after.row" value="true"/>
</reportElement>
<textElement/>
</textField>
163   1  

1 ответ:

Поместите разрывы страниц в основной отчет. У меня была та же проблема с вложенными отчетами, и я перепробовал все возможные комбинации свойств, но, кажется, невозможно взломать страницу из вложенного отчета.

Править: Он перестал работать и на моем отчете, и я решил, добавив 1px высокое текстовое поле со свойством сеть.sf.Джаспер докладывает.экспорт.xls.ломать.после.ряд установите значение true. Я также использую это поле для задания имен листов с помощью net.sf.jasperreports.export.xls.sheet.name

Я не получал уведомления для иначе я ответил бы раньше...

ИСТОЧНИК ПОЛЯ

<textField>
    <reportElement positionType="FixRelativeToBottom" x="1325" y="122" width="1" height="1" uuid="cbee8af0-8639-4f97-bd6a-4cd284e604c4">
        <property name="net.sf.jasperreports.print.keep.full.text" value="true"/>
        <propertyExpression name="net.sf.jasperreports.export.xls.break.after.row"><![CDATA[$V{REPORT_COUNT} < $F{MAX_ROW_CNT} ? "true" : "false"]]></propertyExpression>
        <propertyExpression name="net.sf.jasperreports.export.xls.sheet.name"><![CDATA[$F{GROUP_NAME}]]></propertyExpression>
    </reportElement>
    <textFieldExpression><![CDATA[($V{REPORT_COUNT} < $F{MAX_ROW_CNT}) ? "true" : "false"]]></textFieldExpression>
</textField>
Поле

Находится под элементом вложенного отчета на правом краю отчета. Я использую выражение для разрыва страницы, чтобы избежать дополнительной пустой страницы в конце отчета. Поле MAX_ROW_CNT - это аналитическая функция в запросе, а REPORT_COUNT-переменная JR, указывающая номер текущей строки.

    Ничего не найдено.

Добавить ответ:
Отменить.