0
我試圖使用Primefaces的dataExporter組件將數據表中的值導出到Excel。使用Primefaces將可編輯數據表導出到Excel只顯示標題
我使用的是primefaces 3.5和jsf 2.2;
我的DataTable,並commandlink是以下幾點:
<p:dataTable id="tableTemp" binding="#{ledgerComplMB.tableTemp}" value="#{ledgerComplMB.listaTemp}"
var="q" emptyMessage="No Registry" paginator="true" rows="10"
rowsPerPageTemplate="10,50,200,500"
paginatorTemplate=" {CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
scrollable="true" scrollWidth="100%" scrollRows="10"
filteredValue="#{ledgerComplMB.listaTempFilter}"
filterDelay="1500" resizableColumns="true" editable="true">
<f:facet name="header">
<p:commandButton id="btGravar" icon="ui-icon-disk"
value="Write data" actionListener="#{ledgerComplMB.gravar}"
disabled="${empty ledgerComplMB.listaTemp}" style="width:200px;" />
<p:commandButton id="btLimpar" value="Clean data"
actionListener="#{ledgerComplMB.limpar}" icon="ui-icon-trash"
disabled="${empty ledgerComplMB.listaTemp}"
style="width:200px;font-weight: bold;margin-left: 20px"/>
<br />
<h:outputText
value="Total: #{fn:length(ledgerComplMB.listaTemp)}"
rendered="#{not empty ledgerComplMB.listaTemp}" />
</f:facet>
<p:ajax event="rowEdit"
oncomplete="dlgConfirma.show()" update=":form:dialogConfirmacao" />
<p:column exportable="false" style="width:30px">
<p:rowEditor />
</p:column>
<p:column filterBy="#{q.ledger.accountNumber}" filterMatchMode="exact" style="width:100px">
<f:facet name="header">AccountNumber</f:facet>
<h:outputText value="#{q.ledger.accountNumber}" />
</p:column>
<p:column filterBy="#{q.ledger.vendor}" filterMatchMode="exact" style="width:100px">
<f:facet name="header">Vendor</f:facet>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{q.ledger.vendor}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{q.ledger.vendor}" />
</f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
<p:commandLink id="exp1" ajax="false">
<p:graphicImage library="img" name="pdf.png" />
<p:dataExporter type="xlsx" target="tableTemp" fileName="#{ledgerComplMB.retornaDataExport}" />
當我只請求頭值顯示出口。
我試過這個方法之前,但不成功的,因爲該方法中的dataTable只有一行。但是,在xhtml中,它有很多行。 – Rodolfo
哪種方法只有一行? –
該方法是org.primefaces.component.export包中的ExcelExporter類的exportAll(FacesContext上下文,DataTable表,Sheet工作表)。 – Rodolfo