dataexporter primefaces无效

时间:2014-07-08 07:23:31

标签: jsf primefaces

我正在使用PrimeFaces 5并使用dataexporter导出.xls和pdf文件。当我点击导出时,似乎没有任何事情发生。以下是我的代码:

<h:body>
    <h:form id="formReport">
        <ui:include src="menu.xhtml"></ui:include>
             <p:dataTable id="ngoReporttbl" var="obj" styleClass="datatable"
                    value="#{ngoReportController.ngoReportList}" >

                    <f:facet name="header">
                      List of Cars
                        <p:commandButton id="toggler" type="button" value="columns" style="float:right" icon="ui-icon-calculator"></p:commandButton>
                        <p:columnToggler datasource="ngoReporttbl" trigger="toggler"></p:columnToggler>
                    </f:facet>

                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="NGO Id"></h:outputText>
                        </f:facet>
                        <h:outputText value="#{obj.ngoId}"></h:outputText>
                    </p:column>
                        <p:column>
                        <f:facet name="header">
                            <h:outputText value="NGO Name Org"></h:outputText>
                        </f:facet>
                        <h:outputText value="#{obj.ngoNameOrg}"></h:outputText>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Environment"></h:outputText>
                        </f:facet>
                        <h:outputText value="#{obj.environment}"></h:outputText>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Livelihood"></h:outputText>
                        </f:facet>
                        <h:outputText value="#{obj.livelihood}"></h:outputText>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Country"></h:outputText>
                        </f:facet>
                        <h:outputText value="#{obj.country}"></h:outputText>
                    </p:column>
                </p:dataTable>  

                <h:commandLink style="float:right">
                    <p:graphicImage  value="../images/pdf.png" width="45"></p:graphicImage>
                   <p:dataExporter type="pdf" target="ngoReporttbl" fileName="ngoReport" pageOnly="true"></p:dataExporter>
                 </h:commandLink>
                 <h:commandLink style="float:right">
                    <p:graphicImage  value="../images/csv.png" width="45"></p:graphicImage>
                   <p:dataExporter type="xls" target="ngoReporttbl" fileName="ngoReport" pageOnly="true"></p:dataExporter>
                 </h:commandLink>

        <ui:include src="footer.xhtml"></ui:include>
    </h:form>
</h:body>

dataTable和Export命令都在一个表单中。它类似于primefaces.org网站上给出的示例。但是,我无法将数据导出为pdf,cvs。

1 个答案:

答案 0 :(得分:1)

对于XLS,您不需要任何额外的东西。对于PDF,您需要POI。由于许可问题,Primefaces仅适用于2.1.7。你的commandButton / commandLink需要是ajax =&#34; false&#34;。祝你好运。