有人可以提供一些示例,其中POI用于将数据从具有排序功能的jsf 2数据表导出到电子表格吗? 我也有一个疑问。我可以使用primefaces dataexport标签和jsf 2数据表吗?由于我是JSF的新手,任何答案都会非常感激。
答案 0 :(得分: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 Showcase和PrimeFaces Userguide
中找到所需的所有信息另一种方法是在您的支持中创建自己的方法,在您的数据表中使用的list / filteredList上创建电子表格,并使用p:downloader和PrimeFaces的StreamedContent下载创建的文件。