Как экспортировать в CSV без повторения верхнего и Нижнего колонтитулов?


Я хочу экспортировать в CSV с верхним и Нижним колонтитулами только один раз

The current output:
Name   Address Hobby
AAA    US      XXXXX
BBB    UK      XXXXX
(Footer)
Name   Address Hobby
CCC    ID      XXXXX
DDD    CC      XXXXX
(Footer)
Name   Address Hobby
EEE    SA      XXXXX
FFF    ZM      XXXXX
(Footer)

The desired output:
Name   Address Hobby
AAA    US      XXXXX
BBB    UK      XXXXX
CCC    ID      XXXXX
DDD    CC      XXXXX
EEE    SA      XXXXX
FFF    ZM      XXXXX
(Footer)

Итак, как мне заставить верхний и Нижний колонтитулы отображаться только один раз ?

Редактировать:

Нижний колонтитул выглядит как

Версия: 1.0.0
AcademicProgramBusinessEntityCentredoma Время Выполнения: 00: 00: 00.00
/NWU / StudentInformation / AcademicProgramDevelopment Build: v1. 0. 9-Dev

2 5

2 ответа:

Вы можете использовать сеть.sf.Джаспер докладывает.экспорт.{формат}.исключать.происхождение.{суффикс}.{arbitrary_name} (см. http://jasperreports.sourceforge.net/config.reference.html Страница для деталей) свойство для исключения полос (заголовок страницы и нижний колонтитул страницы в вашем случае) для экспортера.

Пример:

Входные данные, csv-файл (источник данных):

AAA,US,XXXXX
BBB,UK,XXXXX
CCC,ID,XXXXX
DDD,CC,XXXXX
EEE,SA,XXXXX
FFF,ZM,XXXXX

Файл jrxml :

<?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="exclude_band_for_csv" language="groovy" pageWidth="595" pageHeight="120" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="0" bottomMargin="0" uuid="daaa60dc-b91b-4e9b-bbc0-6189af985ef9">
    <property name="net.sf.jasperreports.export.csv.exclude.origin.band.1" value="pageHeader"/>
    <property name="net.sf.jasperreports.export.csv.exclude.origin.band.2" value="pageFooter"/>
    <queryString>
        <![CDATA[]]>
    </queryString>
    <field name="Name" class="java.lang.String"/>
    <field name="Address" class="java.lang.String"/>
    <field name="Hobby" class="java.lang.String"/>
    <pageHeader>
        <band height="35" splitType="Stretch">
            <staticText>
                <reportElement uuid="9da294e6-b5b7-489f-9469-7edb539315da" x="117" y="0" width="380" height="20"/>
                <textElement textAlignment="Center" verticalAlignment="Middle">
                    <font size="14"/>
                </textElement>
                <text><![CDATA[Page Header]]></text>
            </staticText>
        </band>
    </pageHeader>
    <detail>
        <band height="20" splitType="Stretch">
            <textField>
                <reportElement uuid="6a615d39-86f1-4a74-8ae7-4f8ca8e19afe" x="0" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{Name}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="df0929d2-34c0-4561-ab98-e6e5ce37fd11" x="100" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{Address}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="675381d8-57b3-427f-88e4-ec4725ea3462" x="200" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{Hobby}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
    <pageFooter>
        <band height="45" splitType="Stretch">
            <staticText>
                <reportElement uuid="9da294e6-b5b7-489f-9469-7edb539315da" x="127" y="10" width="380" height="20"/>
                <textElement textAlignment="Center" verticalAlignment="Middle">
                    <font size="14"/>
                </textElement>
                <text><![CDATA[Page Footer]]></text>
            </staticText>
        </band>
    </pageFooter>
</jasperReport>

Дизайн отчета в iReport :

Дизайн отчета в iReport

Результатом JRPdfExporter будет:

Результат генерации отчета в формате * PDF*

Обе полосы присутствуют в PDF файле

Результатом JRCsvExporter будет (выходной файл csv):

AAA,US,XXXXX
BBB,UK,XXXXX
CCC,ID,XXXXX
DDD,CC,XXXXX
EEE,SA,XXXXX
FFF,ZM,XXXXX

Обе полосы отсутствуют в файлеCSV .

Как вы можете видеть, я исключил две полосы (заголовок страницы и нижний колонтитул страницы) только для JRCsvExporter.

Подробнее вы также можете увидеть эту запись: JasperReports: hide textfield when not HTML view

Чтобы предотвратить повторение заголовка столбца, можно использовать следующее свойство:

net.sf.jasperreports.export.{format}.exclude.origin.keep.first.{suffix}.{arbitrary_name}

Например, чтобы избежать повторения заголовка столбца в csv, вы пишете:

<property name="net.sf.jasperreports.export.csv.exclude.origin.keep.first.band.1" value="columnHeader"/>

Https://community.jaspersoft.com/wiki/how-can-i-suppress-page-headers-and-footers-when-exporting-xls