I am implementing ap: dataTable with more than 65000 rows. When I try to export it to EXCEL with a p: dataExporter
it shows me the following error:
java.lang.IllegalArgumentException: Invalid row number (65536) outside allowable range (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>
As I researched it is that the EXCEL 2003 format only supports up to 65535 rows. However when I change the p: dataExporter to XLSX format it shows me the following error:
<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
My project is maven type and I am using: Primefaces 5.3 Primefaces-extensions 4.0 Apache Poi 3.15
Very grateful for any help. Thanks in advance.
Archivo POM add
<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>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.