Search code examples
jsfprimefacesdatatableexport-to-exceldata-export

java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/RichTextString at org.primefaces.component.export.ExporterFactory.getExporterForType


I used the same sample code Primefaces has in its web page:

<h:commandLink value="Excel">                     
  <p:dataExporter type="xls" target="dataTable" fileName="boo" pageOnly="true"/>  
</h:commandLink>

But does not work. In Internet Explorer browser gives the following message:

Details of the errors of the web page Message: Unexpected call to method or property access.

Nothing ever happens in Mozilla Firefox.

What might be happening?


Solution

  • javax.servlet.ServletException: org/apache/poi/ss/usermodel/RichTextString
    

    Look further down in the stacktrace. I bet that the root cause is either a NoClassDefFoundError or ClassNotFoundException? In that case, this just means that you forgot to install Apache POI.

    Download this Apache POI zip file, extract it, put poi-3.8-20120326.jar in /WEB-INF/lib folder and rebuild/redeploy/restart the webapp.