誰かが、POIを使用してデータをソート機能を備えたjsf 2データテーブルからスプレッドシートにエクスポートする例を提供できますか?また、疑問が1つあります。primefacesdataexportタグをjsf 2 datatableと一緒に使用できますか?私はJSFに不慣れなので、どんな答えでも本当にありがたいです。
質問する
1493 次
1 に答える
0
現在、データテーブルで PrimeFaces DataExporter を使用しています。生成されたスプレッドシートはあまり美しくありませんが、初めて使用する場合は非常に簡単です。さらに、フィルタリングおよびソート機能を使用しています。
PrimeFaces Datatable のサンプルを次に示します。
<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 ショーケースとPrimeFaces ユーザーガイドで見つけることができます。
もう1つの方法は、データテーブルで使用されるリスト/filteredListにスプレッドシートを作成し、p:downloaderとStreamedContentを使用して作成したファイルをPrimeFacesからもダウンロードする独自のメソッドをバッキングに作成することです。
于 2012-11-23T08:30:25.517 に答える