DataExporter - Customized Documents

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

IdYearBrandColor
80e794be1991VolvoBlack
0ce956641967FordBrown
264787cd1968VolvoRed
d005342c1963FordRed
217235b11979HondaBlue
96edad591982VolkswagenGreen
d1108f1a2002MercedesGreen
560dc7ad1989RenaultSilver
dcb875a41971FiatYellow
427292251976VolvoRed
IdYearBrandColor
c53c71e71985BMWRed
9746cc491991BMWBrown
a4275f5d1992MercedesSilver
adf46aad1964AudiBlack
5a4fb2172009JaguarMaroon
1da658401993VolkswagenGreen
2b7d1ca61967HondaWhite
3f8068652000JaguarWhite
617f86be1979FiatBlack
0b3cc8a31965BMWMaroon
<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>