Java 从JSF2数据表导出到电子表格

Java 从JSF2数据表导出到电子表格,java,jsf,primefaces,apache-poi,export-to-excel,Java,Jsf,Primefaces,Apache Poi,Export To Excel,有人能提供一些例子,其中POI用于将数据从JSF2数据表导出到具有排序功能的电子表格中吗? 我还有一个疑问,我可以将PrimeFacesDataExport标记与JSF2DataTable一起使用吗?由于我是JSF新手,我非常感谢您的回答。我们目前正在将PrimeFaces DataExporter与我们的datatables一起使用。生成的电子表格不是很漂亮,但在第一次使用时非常简单。此外,它还具有过滤和排序功能 以下是PrimeFaces数据表的示例: <p:dataTable id=

有人能提供一些例子,其中POI用于将数据从JSF2数据表导出到具有排序功能的电子表格中吗?
我还有一个疑问,我可以将PrimeFacesDataExport标记与JSF2DataTable一起使用吗?由于我是JSF新手,我非常感谢您的回答。

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

以下是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的命令按钮:

<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>

您可以在和中找到所需的所有信息


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

@Sebastian:感谢您提供的示例。但是我需要将导出功能合并到使用标记的JSF2DataTable中。将与一起工作吗?不幸的是,p:dataExporter只与primefaces datatable一起工作。