Ajuda com p:fileDownload do primefaces

2 respostas
D

boa tarde , estou fazendo a parte de exportaçao de relatorio do meu sistema e estou testando a exportaçao xls.

tenhu o seguinte codigo

public StreamedContent gerarExcel(List<RelatorioPergunta> listRelatorioVisitaQuestao) throws Exception {
    	
	   StreamedContent arquivoXLS = null;
    	HSSFWorkbook wb = new HSSFWorkbook();   
        HSSFSheet sheet = wb.createSheet("Lista Usuarios");   
            
            for (int cont = 0; cont < listRelatorioVisitaQuestao.size(); cont++) {   
      
               // usuarioDTO = (UsuarioDTO) listaUsuarios.get(cont); 
                RelatorioPergunta relatorioPergunta = listRelatorioVisitaQuestao.get(cont);
      
                HSSFRow row = sheet.createRow(cont);   
      
                HSSFCell celula0 = row.createCell((short) (0));   
                sheet.autoSizeColumn((short) 0);   
                   
                   
                celula0.setCellValue(relatorioPergunta.getVisitaQuestao().getId_visita_questao());   
                HSSFCell celula1 = row.createCell((short) (1));   
                sheet.autoSizeColumn((short) 1);   
                  
                   
                celula1.setCellValue(relatorioPergunta.getVisitaQuestao().getQuestao().getDescricao());   
                HSSFCell celula2 = row.createCell((short) (2));   
                sheet.autoSizeColumn((short) 2);                     
            }   
            FileOutputStream stream = new FileOutputStream("planilhausu.xls");   
            wb.write(stream);   
            
            File arquivo = new File("planilhausu.xls");
            arquivoXLS = new DefaultStreamedContent(new FileInputStream(arquivo), "planilhausu/xls", "relatorio2.xls");
            return arquivoXLS;
        
    }

na linha onde esta assim:

FileOutputStream stream = new FileOutputStream("planilhausu.xls");   
            wb.write(stream);

se eu colocar assim:

FileOutputStream stream = new FileOutputStream("D:/planilhausu.xls");   
            wb.write(stream);

o relatorio é salvo normalmente no disco D: do meu pc

so que se eu colocar a parte do

File arquivo = new File("planilhausu.xls");
 arquivoXLS = new DefaultStreamedContent(new FileInputStream(arquivo), "planilhausu/xls", "relatorio2.xls");
 return arquivoXLS;

o sistema da erro 500 na tela, eu nao tenhu ideia do que pode ser porque segui esse modelo no pdf e deu certo

alguem saberia dizer se com xls é diferente?

2 Respostas

Hebert_Coelho

Coloca o stacktrace do erro.

D
May 22, 2012 3:01:28 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/ControlMobileWeb2.0] threw exception [null] with root cause
javax.servlet.ServletException
	at com.controlmobile.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:45)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
	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:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Criado 22 de maio de 2012
Ultima resposta 22 de mai. de 2012
Respostas 2
Participantes 2