簡體   English   中英

Primefaces p:datatable 導出 EXCEL 超過 65535 行

[英]Primefaces p:datatable export EXCEL more than 65535 rows

我正在實現 ap: dataTable 超過 65000 行。 當我嘗試使用p: dataExporter其導出到 EXCEL 時,它顯示以下錯誤:

java.lang.IllegalArgumentException:無效的行號(65536)超出允許范圍(0..65535)

<p:dataTable id="repFiles" var="rep" value="#{reportFilesBean.list}" filteredValue="#{reportFilesBean.listFiltered}"
         paginator="true" rows="20" sortMode="multiple" emptyMessage="Empty result"
         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
         currentPageReportTemplate="Total: {totalRecords} / Transferred: #{reportFilesBean.countTrans} / Not transferred: #{reportFilesBean.countNotTrans}"
         rowsPerPageTemplate="10,20,30,40,50,100" scrollable="true"  style="width: 100%;"  >

    <f:event type="org.primefaces.event.data.PostFilterEvent" listener="#{reportFilesBean.postFilter}" />

    <f:facet name="header">
        Files transfered
    </f:facet>

    <p:column sortBy="#{rep.period}" filterBy="#{rep.period}" filterMatchMode="contains">  
        <f:facet name="header">
            <h:outputText value="Period" />
        </f:facet>
        <h:outputText value="#{rep.period}" />
    </p:column>

    <p:column sortBy="#{rep.filename}" filterBy="#{rep.filename}" filterMatchMode="contains"> 
        <f:facet name="header">
            <h:outputText value="Filename" />
        </f:facet>
        <h:outputText value="#{rep.filename}" />
    </p:column>

    <p:column sortBy="#{rep.date}" filterBy="#{rep.date}" filterMatchMode="contains"> 
        <f:facet name="header">
            <h:outputText value="Date" />
        </f:facet>
        <h:outputText value="#{rep.date}" />
    </p:column>
</p:dataTable>

<h:commandLink>  
    <p:graphicImage value="/images/icons/excel-icon.png" title="XLS" />  
    <p:dataExporter type="xls" target="repFiles" fileName="Reporte_Files_Transferred" />  
</h:commandLink>  

正如我研究的那樣,EXCEL 2003 格式最多只支持 65535 行。 但是,當我將 p:dataExporter 更改為 XLSX 格式時,它顯示以下錯誤:

<h:commandLink>  
    <p:graphicImage value="/images/icons/excel-icon.png" title="XLS" />  
    <p:dataExporter type="xlsx" target="repFiles" fileName="Reporte_Files_Transferred" />  
</h:commandLink>  

java.lang.NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook

我的項目是 maven 類型,我正在使用: Primefaces 5.3 Primefaces-extensions 4.0 Apache Poi 3.15

非常感謝任何幫助。 提前致謝。

歸檔 POM 添加

<dependencies>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.1.7</version>
        </dependency>
    </dependencies>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM