Erro ao ler um Report.jrxml em uma classe

4 respostas
D

Oi gente. To usando JasperReports 3.0.1 e o iReport-nb-3.1.1. Seguindo varios tutoriais, eu fiz o seguinte codigo

ResultSet rs = stm.executeQuery( query );

/* implementação da interface JRDataSource para DataSource ResultSet */

JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
JasperDesign jasperDesign = JRXmlLoader.load("D://pkgs_java//Jasper//report5.jrxml");  
	JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);  
	
	JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null,jrRS);
	JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\aiai.pdf");  
	//JasperExportManager.exportReportToXmlFile("D://documents and settings//dandrad//workspace//JasperHello//report5.jasper", false);

Minha intencao eh exportar pro xml,mas estou testando com pdf,mas encontro o seguinte erro.

net.sf.jasperreports.engine.JRException: No report compiler set for language : null

at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:508)

at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:219)

at TesteJasper.main(TesteJasper.java:38)

Ja tentei abrir o report usando a seguinte linha, sem compilar…

JasperFillManager.fillReportToFile(“D://pkgs_java//Jasper//report5.jrxml”, null, jrRS);

e ocorre o seguinte erro

net.sf.jasperreports.engine.JRException: Error loading object from file invalid stream header

Ja estou a 2 dias tentando rodar o report q fiz usando o ireport e nao consigo caminhar. Por favor me ajudem…Abraços

4 Respostas

diogoprosoft

Tenta assim

/////////////////////////////Relatorios/////////////////////////////        
        
        String pathJasper = getServlet().getServletContext().getRealPath("/ireport/") + "/";   
        String pathImages = getServlet().getServletContext().getRealPath("/ireport/") + "/";   
  
        String path = getServlet().getServletContext().getRealPath("/");   
        Map parametros = new HashMap();   
  
        parametros.put("SUBREPORT_DIR", pathJasper);   
        parametros.put("IMAGES_URI", pathJasper);   

       try {           
           JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(listaExtrato);           
           JasperPrint impressao = JasperFillManager.fillReport(pathJasper + "/ExtratoParcelaCliente.jasper", parametros, ds);
            
            byte[] bytes = JasperExportManager.exportReportToPdf(impressao);
            byte[] arquivo = bytes;
            String nomeDoArquivo = "ExtratoParcelaCliente.pdf";
            response.setContentType("application/x-msdownload");
            response.setHeader("Content-Disposition", "attachment; filename=".concat(nomeDoArquivo));
            response.setContentLength(arquivo.length);
            ServletOutputStream sos = response.getOutputStream();
            sos.write(arquivo, 0, arquivo.length);
            sos.flush();
            sos.close();
            } catch (Exception e) {
            if(e.getClass().getSimpleName().equals("ClientAbortException")){
                    System.out.println("Documento cancelado");
            } else{
                    System.out.println("Outros");
            } 
            }
        orafactory.closeConnection();
        return mapping.findForward(SUCCESS);
        
    }
}
D

nao funcionou…o problema nao esta em onde esta localizado o report…logico que ate ficaria mais elegante dessa forma.mas enfim, o report ele localiza,mas ele nao abre ou compila :frowning:

D

Oi galera ja consegui fazer funcionar… Pra pdf o codigo ficou assim…

ResultSet rs = stm.executeQuery( query );

/* implementação da interface JRDataSource para DataSource ResultSet */

JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
JasperReport jasperReport = (JasperReport) JRLoader.loadObject("D://pkgs_java//Jasper//report5.jasper");  
			
	JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null,jrRS);
	JasperExportManager.exportReportToPdfFile(jasperPrint, "C://teste_jasper.pdf");

Vo testar agora pra xls, q eh o q desejo.vlw ai

D

obs.sei q anteriormente tentava usar .jrxml,mas nem o .jasper funcionava

Criado 30 de setembro de 2008
Ultima resposta 30 de set. de 2008
Respostas 4
Participantes 2