Estou utilizando JSF, Java 1.5, Spring e JasperReports para geração de planilhas, onde está apresentando um erro.
Tenho o seguinte código:
/**
* Gera a planilha em formato do Excel
* Será validado os dados do formulário, conforme a geração da lista
* Após será realizado a exportação do Excel
*
* @return
*/
public String gerarPlanilha(){
IRelatoriosFacade facade = new RelatoriosFacade();
Sac sac = new Sac();
SacTop top = new SacTop();
sac.setSacTop(top);
if(validaForm(sac) != null){
return "";
}
try{
Collection<ModuloSacTop> listaTop = facade.listarSacs(sac);
if(listaTop == null || listaTop.size() < 1){
if(this.pgConsulta.isRendered()){
this.dtConsulta.setValue(new ArrayList<SacTop>());
this.pgConsulta.setRendered(false);
}
if(this.pgGrafico.isRendered()){
this.pgGrafico.setRendered(false);
}
error("Nenhum registro encontrado");
return "";
}else{
FacesContext facesContext = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext)facesContext.getExternalContext().getContext();
JasperReport relatorio = (JasperReport) JRLoader.loadObject(servletContext.getRealPath("/relatorios/relSacTopDown.jasper"));
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
Map<String, Serializable> map = new HashMap<String, Serializable>();
ServletOutputStream ouputStream = response.getOutputStream();
ByteArrayOutputStream output = new ByteArrayOutputStream();
JasperReportsUtils.renderAsXls(relatorio, map, listaTop, ouputStream);
byte[] outputByteArray = output.toByteArray();
ouputStream.write(outputByteArray, 0, outputByteArray.length);
response.setHeader("Content-Disposition", "attachment; filename=\"ListaDeDepartamentos.xls\";");
response.setContentLength(outputByteArray.length);
ouputStream.write(outputByteArray, 0, outputByteArray.length);
facesContext.responseComplete();
}
}catch(Exception e){
e.printStackTrace();
error("Erro ao gerar lista de SACs");
return "";
}
return "";
}
e me apresenta o seguinte erro ao gerar o arquivo XLS do Excel
24/10/2008 16:46:17 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFCell.setEncoding(S)V
at net.sf.jasperreports.engine.export.JRXlsExporter.initCreateCell(JRXlsExporter.java:536)
at net.sf.jasperreports.engine.export.JRXlsExporter.createTextCell(JRXlsExporter.java:524)
at net.sf.jasperreports.engine.export.JRXlsExporter.exportText(JRXlsExporter.java:394)
at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportPage(JRXlsAbstractExporter.java:561)
at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReportToStream(JRXlsAbstractExporter.java:434)
at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReport(JRXlsAbstractExporter.java:197)
at org.springframework.ui.jasperreports.JasperReportsUtils.render(JasperReportsUtils.java:113)
at org.springframework.ui.jasperreports.JasperReportsUtils.renderAsXls(JasperReportsUtils.java:250)
at br.com.unimed.cn.mb.relatoriosTopDown.RelatorioTopDownMB.gerarPlanilha(RelatorioTopDownMB.java:395)
at br.com.unimed.cn.mb.relatoriosTopDown.RelatorioTopDownMB$$FastClassByCGLIB$$b3fb1d09.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:695)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139)
at org.springframework.aop.aspectj.AspectJAfterAdvice.invoke(AspectJAfterAdvice.java:42)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.AspectJAfterAdvice.invoke(AspectJAfterAdvice.java:42)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:630)
at br.com.unimed.cn.mb.relatoriosTopDown.RelatorioTopDownMB$$EnhancerByCGLIB$$75780aba.gerarPlanilha(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:172)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:69)
at javax.faces.component.UICommand.broadcast(UICommand.java:383)
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:80)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Alguém sabe o pq deste erro??