DataExporter - Customized Documents

DataExporter provides easy customization options for the exported document using pre and post processors or ExcelOptions and PDFOptions objects.

IdYearBrandColor
900788251972FiatSilver
03eb909d1974AudiBlue
41b5e9531994FordBrown
f4d6d6411995FordRed
8059759b1997MercedesYellow
22b28a941982FiatYellow
24487c031962FiatOrange
d2c352371970HondaGreen
ddde667e2007VolkswagenRed
04080f552002BMWOrange
IdYearBrandColor
fd48500a1990JaguarBrown
695443281977VolvoBrown
709e13ba1962AudiBlack
cb274eaa2003FiatGreen
c9fae43b1982VolvoRed
bbbffe4f2009VolvoGreen
82d591a01960FordSilver
0190f9161972FordRed
19630e541989JaguarOrange
e68759941983MercedesBlack
<h:form>
    <p:dataTable id="tbl" var="car" value="#{customizedDocumentsView.cars}" 
                 paginator="true" rows="10">
        <p:column>
            <f:facet name="header">
                <h:outputText value="Id" />
            </f:facet>
            <h:outputText value="#{car.id}" />
        </p:column>

        <p:column>
            <f:facet name="header">
                <h:outputText value="Year" />
            </f:facet>
            <h:outputText value="#{car.year}" />
        </p:column>

        <p:column>
            <f:facet name="header">
                <h:outputText value="Brand" />
            </f:facet>
            <h:outputText value="#{car.brand}" />
        </p:column>

        <p:column>
            <f:facet name="header">
                <h:outputText value="Color" />
            </f:facet>
            <h:outputText value="#{car.color}" />
        </p:column>
    </p:dataTable>

    <h:commandLink id="excel">
        <p:graphicImage name="/demo/images/excel.png" />
        <p:dataExporter type="xls" target="tbl" fileName="cars" postProcessor="#{customizedDocumentsView.postProcessXLS}" />
    </h:commandLink>

    <h:commandLink id="pdf">
        <p:graphicImage name="/demo/images/pdf.png" />
        <p:dataExporter type="pdf" target="tbl" fileName="cars" preProcessor="#{customizedDocumentsView.preProcessPDF}" />
    </h:commandLink>

    <p:dataTable id="tbl2" var="car" value="#{customizedDocumentsView.cars2}" 
                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {Exporters}"
                 paginator="true" rows="10" style="margin-top: 25px;">

        <f:facet name="{Exporters}">
            <div style="float:right">
                <h:commandLink>
                    <p:graphicImage name="/demo/images/excel.png" width="24"/>
                    <p:dataExporter type="xls" target="tbl2" fileName="cars" options="#{customizedDocumentsView.excelOpt}" />
                </h:commandLink>

                <h:commandLink>
                    <p:graphicImage name="/demo/images/pdf.png" width="24"/>
                    <p:dataExporter type="pdf" target="tbl2" fileName="cars" options="#{customizedDocumentsView.pdfOpt}" />
                </h:commandLink>
            </div>
        </f:facet>

        <p:column>
            <f:facet name="header">
                <h:outputText value="Id" />
            </f:facet>
            <h:outputText value="#{car.id}" />
        </p:column>

        <p:column>
            <f:facet name="header">
                <h:outputText value="Year" />
            </f:facet>
            <h:outputText value="#{car.year}" />
        </p:column>

        <p:column>
            <f:facet name="header">
                <h:outputText value="Brand" />
            </f:facet>
            <h:outputText value="#{car.brand}" />
        </p:column>

        <p:column>
            <f:facet name="header">
                <h:outputText value="Color" />
            </f:facet>
            <h:outputText value="#{car.color}" />
        </p:column>
    </p:dataTable>
</h:form>