【问题标题】:Exporting to spreadsheet from JSF 2 Datatable从 JSF 2 Datatable 导出到电子表格
【发布时间】:2012-11-23 05:51:20
【问题描述】:

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

【问题讨论】:

    标签: java jsf primefaces apache-poi export-to-excel


    【解决方案1】:

    我们目前正在将 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 的命令按钮:

    <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 Userguide 中找到您需要的所有信息

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

    【讨论】:

    • @Sebastian :感谢您提供示例。但我需要将导出功能合并到使用标签 的 jsf 2 数据表中。 会与 一起使用吗?
    • 不幸的是 p:dataExporter 仅适用于 primefaces 数据表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多