AJuda com Jasper Reports!

1 resposta
C

Pessoal, estou com problemas para apresentar em um relatorio um arquivo .jasper.
Tenho a seguinte classe classes:
NESSA EU CONSEGUI FAZER FUNCIONAR usando o arquivo .jrxml

package Relatorios;
 
 import java.sql.Connection;
 import java.util.HashMap;
 import java.util.List;
 
 import javax.swing.JOptionPane;
 
 import Conecao.Conecta;
 import Consulta.ConsAssBD;
 import Consulta.ConsTabela;
 import Consulta.QuerysSQL;
 
 import net.sf.jasperreports.engine.JasperManager;
 import net.sf.jasperreports.engine.JasperPrint;
 import net.sf.jasperreports.engine.JasperReport;
 import net.sf.jasperreports.engine.design.JasperDesign;
 import net.sf.jasperreports.view.JasperViewer;
 
 /**
  * Classe Que Monta o Relatorio por Nome em ardem alfabética dos Associados
  */
 public class RelatorioNome {   
 	private String dir = "C:/Proj_URDC/SegUnimed/Relatorios/";
 		
 	public RelatorioNome() {
 	    ConsAssBD cons = new ConsAssBD();
 	    // Faz a consulta de todos os associados do BD
 	    List lista = cons.Consulta(QuerysSQL.getConsultaGeral());
 	    String aux[][] = new String[lista.size()][4];
 	    for( int i = 0; i < lista.size(); i++ ) {
 	        ConsTabela cT = (ConsTabela)lista.get(i);
 	        aux[i][0] = cT.getConta();
 	        aux[i][1] = cT.getNome();
 	        aux[i][2] = cT.getNascimento();
 	        aux[i][3] = cT.getCPF();
 	    }
 	    /**
 	     * Parte de Envio dos Dados para o relatório
 	     * */
 	    try {        
 		    JasperDesign design = JasperManager.loadXmlDesign( dir + "RelNome.jrxml" );
 		    JasperReport jr = JasperManager.compileReport(design);
 		    
 		    HashMap parametros = new HashMap();
 		    
 		    Conecta BD = new Conecta();
 		    Connection conn = BD.Con();;
 		    
 		    JasperPrint impressao = JasperManager.fillReport( jr, parametros, conn );
 		    
 		    JasperViewer jrviewer = new JasperViewer( impressao, false );
 		    jrviewer.setVisible(true);
 		    jrviewer.setDefaultCloseOperation(jrviewer.DISPOSE_ON_CLOSE);
 		}catch( Exception e) {
 		    JOptionPane.showMessageDialog( null, "Erro:\n" + e.toString());
 		    e.printStackTrace();
 		}	    
 	}
 }

bem… aqui comeca o meu problema…
Na classe acima eu estou compilando o arquivo .jrxml em tempo de execucao para eu poder colocar o viewer do jasper reports, mas eu queria colocar direto o arquivo .jarper, para n fazer o programa “peder tempo” de ficar compilando o arquivo .jrxml, sera q alguem pd me ajudar?

Abracao e desde ja agradeco!

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Matheus [/color][/size] :joia:

1 Resposta

M

O código abaixo faz o que vc quer.

InputStream is = this.getClass().getClassLoader().getResourceAsStream("C:\\diretorio\\arquivo.jasper");
		
		try {
			Connection conexao = //...getConnection();
			JasperPrint jasperPrint = JasperFillManager.fillReport(is, parametros, conexao);
			//...closeConnection();
		}
		catch (JRException e) {
			// tratamento da exceção
		}
		catch (SQLException e) {
			// tratamento da exceção
		}
Criado 20 de junho de 2005
Ultima resposta 23 de jun. de 2005
Respostas 1
Participantes 2