Gerar Relatório ireport sem usar conexão com db

3 respostas
zicky23

Boa tarde pessoal,

gostaria de saber se tem alguma maneira de se gerar um relatório apenas passando dados via parametro "map".

é que o programa que estou desenvolvendo nao irá ter banco de dados...

testei desta maneira abaixo, mas nao obtive sucesso.

public class RelatorioCurriculo extends JDialog{
    //DBRels obj = new DBRels();
    JDialog viewer = new JDialog(new javax.swing.JFrame(),"Visualização do Relatório", true);

    public RelatorioCurriculo(
            String nome,
            String sobrenome,
            String cpf,
            String estadocivil,
            String endereco, 
            String numero,
            String bairro,
            String cep,
            String email,
            String telefone,
            String dddfone,
            String celular,
            String dddcel,
            String formacao,
            String experiencia,
            String nacionalidade,
            String idade,
            String cidade,
            String estado,
            String objetivo,
            String cargo){
        URL arquivo = getClass().getResource("/Relatorio/RelatorioCurriculo.jasper");
        HashMap map = new HashMap();
        map.put("NOME",nome);
        map.put("SOBRENOME",sobrenome);
        map.put("NACIONALIDADE",nacionalidade);
        map.put("CPF",cpf);
        map.put("ESTADOCIVIL",estadocivil);
        map.put("IDADE",idade);
        map.put("ENDERECO",endereco);
        map.put("NUMERO",numero);
        map.put("CIDADE",cidade);
        map.put("ESTADO",estado);
        map.put("BAIRRO",bairro);
        map.put("CEP",cep);
        map.put("EMAIL",email);
        map.put("TELEFONE",telefone);
        map.put("DDDFONE",dddfone);
        map.put("CELULAR",celular);
        map.put("DDDCELULAR",dddcel);
        map.put("OBJETIVO",objetivo);
        map.put("CARGO",cargo);
        map.put("FORMACAO",formacao);
        map.put("EXPERIENCIA",experiencia);
        try{
            JasperReport jasperReport = (JasperReport) JRLoader.loadObject(arquivo);
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map/*, obj.getConnection()*/);
            JasperViewer jrviewer = new JasperViewer(jasperPrint, false);
            viewer.setSize(1024,700);
            viewer.setLocationRelativeTo(null);
            viewer.getContentPane().add(jrviewer.getContentPane());
            viewer.setVisible(true);
        }catch(Exception erro){
            JOptionPane.showMessageDialog(null, "erro "+erro);
        }
    }
}

Alguém sabe como fazer????

Obrigado desde já!

3 Respostas

pedruhenrik

vc pode utilizar outras fontes de dados,

por exemplo xml,csv,JavaBeans ou jrdatasource.

da uma olha se um desses te atende.

att,


leoramos

Dá sim… não sei como vais buscar teus dados, mas podes passar uma coleção de beans como fonte de dados.
Pesquise como JRBeanCollectionDataSource. Tem um exemplo completo aqui no fórum.
Abraço!

zicky23

Valeu galera…

vou tentar e aviso…

valeu

Criado 5 de agosto de 2011
Ultima resposta 5 de ago. de 2011
Respostas 3
Participantes 3