Tudo bem galera?
Eu gostaria q alguem pudesse me ajudar a entender direito como faço para criar uma classe que gere relatório atraves do design criado no ireport…eu criei um de exemplo com dois campos em um H2 id e nome(tabela usuario) e o ireport ele compila e mostra o relatorio direitinho mas não estou conseguindo gerar uma classe com jasper utilizando esse modelo…alguem pode me ajudar?
IReport e JasperReport
7 Respostas
G
vc jah leu esse tutorial aqui ??
ele explica mais ou menos como usar
Li sim mas não consegui fazer a parte de criação de relatório pela classe
G
hehehe, eu tbm to com o mesmo problema
L
mas qual é exatamente o problema?
Não compila?
G
no meu caso não gera o PDF
ele da um monte de erros
Ele gera um erro : vou postar pra ajudar:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.view.JasperViewer;
public class RelatprioUsuario {
public RelatprioUsuario() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CONEXAO conexao = new CONEXAO();
Connection conn = conexao.getConnection();
try {
PreparedStatement stm = conn.prepareStatement("SELECT * from usuario");
ResultSet rs = stm.executeQuery();
//JasperDesign design = JasperManager.loadXmlDesign("teste2.jrxml");
//JRResultSetDataSource jrs = new JRResultSetDataSource(rs);
Map parameters = new HashMap();
JasperFillManager.fillReportToFile("teste2.jasper", parameters, conn);
JasperExportManager.exportReportToPdfFile("teste2.jrprint");
JasperViewer.viewReport("teste2.pdf", false);
conn.close();
conexao.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
ERRO:
net.sf.jasperreports.engine.JRException: Class not found when loading object from file : teste2.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:96)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:89)
at RelatprioUsuario.main(RelatprioUsuario.java:39)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.SequencedHashMap
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:88)
… 2 more
Galera…descobri o erro…estava faltando no classpath as libs do ireport…desculpa pela cabeçada e obrigado pela força
Criado 30 de julho de 2007
Ultima resposta 6 de ago. de 2007
Respostas 7
Participantes 3
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo