【发布时间】:2017-03-28 04:30:53
【问题描述】:
我正在实现一个 p: 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 扩展 4.0 Apache Poi 3.15
非常感谢您的帮助。 提前致谢。
【问题讨论】:
-
我解决了这个问题。我将 poi-ooxml 添加到 maven 依赖项并正确导出。
非常感谢。org.apache.poi poi-ooxml 3.15 -
请将此添加为答案。您可以(并且被鼓励)回答您自己的问题!
标签: excel datatable primefaces apache-poi export