PrimeFaces - Erro ao exportar excel

6 respostas
P

Olá, boa tarde.
Tenho o seguinte erro quando tento exportar minha tabela para excel com o <p:dataExporter>:

java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFCell.setCellValue(Lorg/apache/poi/hssf/usermodel/HSSFRichTextString;)V at org.primefaces.component.export.ExcelExporter.addColumnValue(ExcelExporter.java:88) at org.primefaces.component.export.ExcelExporter.addColumnHeaders(ExcelExporter.java:80) at org.primefaces.component.export.ExcelExporter.export(ExcelExporter.java:46) at org.primefaces.component.export.DataExporter.processAction(DataExporter.java:94) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:777) at javax.faces.component.UICommand.broadcast(UICommand.java:300) at javax.faces.component.UIData.broadcast(UIData.java:915) at org.primefaces.component.datatable.DataTable.broadcast(DataTable.java:630) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:115) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329) at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619)

Tenho o jar do poi no meu projeto (lib/poi-3.8-beta2.jar)
Tem que ser outro jar, ou é outra coisa?

Desde já agradeço pela ajuda.
Abraços.

6 Respostas

H

Cara, esse erro java.lang.NoSuchMethodError é pq quem está invocando esse método está chamando um jar desatualizado.

Veja c não tem versões mais novas.

P

Valeu, Jake. Troquei a versão do JAR aqui, mas nada :frowning:

Mais alguém?

M

você tem que usar a lib POI http://poi.apache.org/

P

Fala, Marcelo!

Eu troquei pra esse ai, o erro mudou realmente, mas não faz o menor sentido:

java.lang.ClassNotFoundException: org.apache.poi.hssf.usermodel.HSSFWorkbook

Essa classe existe lá, eu olhei… não faço ideia :S

M

coloca também a xml-apis e a xml-api-ext, uso essas e funciona, se quiser te envio por e-mail

P

Poxa, Marcelo, ficarei muito grato!!

[email removido]

Obrigado a todos que ajudaram. Abraços.

Criado 29 de novembro de 2011
Ultima resposta 30 de nov. de 2011
Respostas 6
Participantes 3