olá pessoal, normalmente quando estamos aprendendo a gerar relatório no ireport criamos
um relatorio que não contem informações dinâmicas e rodamos a aplicação para se ter pelo
menos um relatorio em branco. Um dos erros mais comuns é: “o ducumento não contem páginas”.
Passei por isso e resolvi da seguinte forma:
ao inves de usar o método JasperPrint "jasperPrint = JasperFillManager.fillReport(reportJasper, params);"
que recebe 2 parâmetros usei o "JasperPrint jasperPrint = JasperFillManager.fillReport(reportJasper, params, jrBean);"
que recebe 3 parâmetros, considero isso um bug, mas posso está errado, mas vejam como ficou o codigo correto:
package relatoriodesktop;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
//import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;
/**
*
-
@author Harley
*/
public class Main {/**
-
@param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic hereString reportSource = “C:/relatorios/FuncionarioReport.jrxml”;
String reportDest = “C:/relatorios/FuncionarioReport.html”;
String reportJasper = “C:/relatorios/FuncionarioReport.jasper”;
Map<String, Object> params = new HashMap<String, Object>();try {
JOptionPane.showMessageDialog(null, “ponto 1”);
// JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);List<Cliente> clientList = new ArrayList<Cliente>(); Cliente cliente1 = new Cliente(); cliente1.setNome("LEANDRO"); cliente1.setFilhos(new Integer(3)); Cliente cliente2 = new Cliente(); cliente2.setNome("FABIANA"); cliente2.setFilhos(new Integer(7)); Cliente cliente3 = new Cliente(); cliente3.setNome("JOÃO"); cliente3.setFilhos(new Integer(1)); clientList.add(cliente1); clientList.add(cliente2); clientList.add(cliente3); JRBeanCollectionDataSource jrBean = new JRBeanCollectionDataSource(clientList); JasperPrint jasperPrint = JasperFillManager.fillReport(reportJasper, params, jrBean); JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest); JasperViewer.viewReport(jasperPrint);
} catch (JRException e) {
e.printStackTrace();
}
}
}
-
observação: estou pegando um arquivo jasper, que é um arquivo de ralatório já compilado, que uma vez gerado pelo netbeans copiei para c:/relatorios.
vlw galera!