如何在没有页眉和页脚重复的情况下导出为CSV?

And*_*dre 5 jasper-reports export-to-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)
Run Code Online (Sandbox Code Playgroud)

那么如何让页眉和页脚只显示一次呢?

编辑:

页脚看起来像

版本:1.0.0
AcademicProgramBusinessEntityCentreDoma执行时间:00:00:00.00
/ NWU/StudentInformation/AcademicProgramDevelopment Build:v1.0.9 - Dev

Ale*_*x K 7

您可以使用net.sf.jasperreports.export.{format} .exclude.origin.{suffix}.{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
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

该报告在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
Run Code Online (Sandbox Code Playgroud)

Both bands are absent in CSV file.

As you can see I've excluded two bands (Page Header and Page Footer) only for JRCsvExporter.


For more details you can also see this post: JasperReports: hide textfield when not HTML view