Geração de relatorio xls em Jarper Report

6 respostas
J

Olá pesssoal.

Gostaria de saber se há alguém que tenha parte de um código, em java, que gere, sem erros, um relatório xls (excel) em Jasper Report. Estou tentando mas não consigo.
Outra coisa é que não há a ncessidade de passar nehum parâmetro para o relatório, já que toda a lógica do relatorio está em sql no próprio relatório.

Um erro que está dando com frequencia é:

Mensagem do Sistema: org.apache.poi.hssf.usermodel.HSSFSheet.addMergedRegion(Lorg/apache/poi/hssf/util/CellRangeAddress;)I

Obrigado desde então.

6 Respostas

drsmachado

Vamos esclarecer o seguinte:
Jasper é um tipo de relatório e excel é outro.
Vi ali que você está utilizando apache-poi, qual o problema com ela? Posta o stack completo, caso contrário, não conseguimos ver onde o erro está sendo gerado.

J
#bridge# FATAL [PlcExceptionHandlerService] Erro de nivel diferenciado disparado. Erro: java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.addMergedRegion(Lorg/apache/poi/hssf/util/CellRangeAddress;)I 16:05:25,805 [http-8080-1]    
 java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.addMergedRegion(Lorg/apache/poi/hssf/util/CellRangeAddress;)I
	at net.sf.jasperreports.engine.export.JRXlsExporter.createMergeRegion(JRXlsExporter.java:611)
	at net.sf.jasperreports.engine.export.JRXlsExporter.initCreateCell(JRXlsExporter.java:560)
	at net.sf.jasperreports.engine.export.JRXlsExporter.createTextCell(JRXlsExporter.java:550)
	at net.sf.jasperreports.engine.export.JRXlsExporter.exportText(JRXlsExporter.java:410)
	at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportPage(JRXlsAbstractExporter.java:590)
	at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReportToStream(JRXlsAbstractExporter.java:423)
	at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReport(JRXlsAbstractExporter.java:186)
	at br.gov.prodemge.controle.jasper.RelatorioJasperService.geraRelatorioJasperXLS(RelatorioJasperService.java:82)
	at br.gov.prodemge.controle.jsf.relatoriogeralbarragens.relatorioGeralBarragensAction.geraRelatorioJasperPopup(relatorioGeralBarragensAction.java:77)
	at br.gov.prodemge.controle.jsf.relatoriogeralbarragens.relatorioGeralBarragensAction.imprimir(relatorioGeralBarragensAction.java:65)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
	at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
	at org.jboss.seam.interceptors.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:34)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
	at org.jboss.seam.interceptors.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:47)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
	at org.jboss.seam.interceptors.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:63)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
	at org.jboss.seam.interceptors.ConversationalInterceptor.aroundInvoke(ConversationalInterceptor.java:89)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
	at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
	at com.powerlogic.jcompany.controle.jsf.interceptors.PlcExceptionInterceptor.handleExceptions(PlcExceptionInterceptor.java:48)
	at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
	at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:178)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:73)
	at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
	at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:151)
	at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:87)
	at br.gov.prodemge.controle.jsf.relatoriogeralbarragens.relatorioGeralBarragensAction_$$_javassist_9.imprimir(relatorioGeralBarragensAction_$$_javassist_9.java)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:131)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:208)
	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:165)
	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
	at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
	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:175)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:421)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:595)
J

Sim o relatório está em jasper. Já foi compilado. No entanto, quando gero o relatório em PDF funciona perfeitamente, mas quando preciso gerar em xls, fica dando este erro.
Não sei exatamente o que significa o erro.

Obrigado.

drsmachado

Camarada, pelo erro, é conflito de versões de jars.
Verifique todos os jars que importa e cheque se a versão está correta.
A propósito, está tentando gerar o xls a partir do JasperViewer?

J

Eu já desconfiava que poderia ser conflito de versões. Só não tinha certeza disso.
Sim, estou tentando gerar o xls pelo JasperView.

Obrigado.

drsmachado

Então é isso.
Só para deixar claro o que falei no início, os relatórios do iReport são do tipo jasper. O jasperview é um aplicativo java que permite que você exporte para outras extensões, entre elas, o xls.

Criado 18 de julho de 2012
Ultima resposta 18 de jul. de 2012
Respostas 6
Participantes 2