3

有人可以提供一些示例,其中 POI 用于将数据从具有排序功能的 jsf 2 数据表导出到电子表格?我也有一个疑问。我可以使用 primefaces 数据导出标签和 jsf 2 数据表吗?由于我是 JSF 的新手,任何答案都将不胜感激。

4

1 回答 1

0

我们目前正在将 PrimeFaces DataExporter 与我们的数据表一起使用。生成的电子表格不是很漂亮,但第一次使用非常简单。此外,它还具有过滤和排序功能。

这是我们的 PrimeFaces 数据表的示例:

<p:dataTable id="volumeListTable" widgetVar="volumeListTableWidget" value="#{volumeController.volumes}" var="volume" 
                                    paginator="true" rows="#{parameters.rowsNumber}" rowsPerPageTemplate="5,10,25,50"
                                    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                    rowKey="#{volume.key}" selection="#{volumeController.selectedVolumes}" selectionMode="multiple"
                                    filteredValue="#{volumeController.filteredList}" >

                            <p:ajax ... />

                            <p:column sortBy="#{volume.volumeID}" filterMatchMode="contains" filterBy="#{volume.volumeID}" > 
                                <f:facet name="header">
                                    <h:outputText value="#{bundle.VolumeID}" />
                                </f:facet>
                                <h:outputText value="#{volume.volumeID}" />
                            </p:column>

                            <p:column sortBy="#{volume.volumeStatus}" filterMatchMode="contains" filterBy="#{volume.volumeStatus}" >
                                <f:facet name="header">
                                    <h:outputText value="#{bundle.VolumeStatus}" />
                                </f:facet>
                                <h:outputText value="#{volume.volumeStatus}" />
                            </p:column>
</p:dataTable>

这是 dataExporter 的 commandButton :

<p:commandButton title="#{bundle.Excel}" icon="aofxdm-icon-xls" disabled="#{volumeController.volumesNumber == 0}" ajax="false" >
   <p:dataExporter type="xls" target=":volumeForm:volumeListTable" fileName="Volumes" />
</p:commandButton>

您可以在PrimeFaces ShowcasePrimeFaces 用户指南中找到您需要的所有信息

另一种方法是在您的支持中创建您自己的方法,该方法将在您的数据表中使用的列表/filteredList 上创建您的电子表格,并使用 p:downloader 和来自 PrimeFaces 的 StreamedContent 下载创建的文件。

于 2012-11-23T08:30:25.517 回答