Reportes en java con Jasper Reports y iReport
04 octubre 2007 | | |Jasper Reports es una libreria para generar reportes en java esta escrita en java y es OpenSource.Para utilizarla es necesario generar un archivo xml con las especificaciones del reporte, que después puede ser impreso o exportado a varios formatos que soporta la librería( PDF, XML, HTML, CSV, XLS, RTF, TXT).
Para evitarse dolores de cabeza es mejor usar un editor gráfico para hacer los reportes en este caso es iReports muy sencillo de utilizar y practico
Ejemplo de como implementar el reporte generado en iReport en java
Nota*
Si marca algún classnofound es porque no se encuentran todas las librerías necesarias dentro del proyecto así que importenlas para que no tengan problemas
import java.sql.*;
import javax.swing.JOptionPane;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.JasperReport;
public class reporte {
public reporte() {
}
public static Connection conexion() {
Connection jdbcConnection = null;
try{
Class.forName("com.mysql.jdbc.Driver");
jdbcConnection = DriverManager.getConnection("tu conexion");
}catch(Exception ex) {
String Msg = "No se puede conectar ala base de datos: " + ex.getMessage() + " " + ex.getLocalizedMessage();
System.out.println(Msg);
}
return jdbcConnection;
}
public static void Report(){
JasperViewer visor=null;
JasperDesign jasperDesign=null;
JasperReport jasperReport=null;
Connection jdbcConnection=null;
JasperPrint jasperPrint =null;
try{
jasperDesign = JRXmlLoader.load("reportes/reporte.jrxml");//Se carga el reporte suponiendo que esta en un subdirectorio
jasperReport = JasperCompileManager.compileReport(jasperDesign);//Se compila
jdbcConnection = conexion();//Se obtiene la conexion ala base
jasperPrint = JasperFillManager.fillReport(jasperReport,null,jdbcConnection);
visor = new JasperViewer(jasperPrint,false); //Creamos un visor para previsualizar el reporte
visor.setTitle("Reporte");
visor.setVisible(true); //Lo hacemos visible
}catch(Exception ex) {
JOptionPane.showMessageDialog(null,"Error leyendo el reporte"+ex);
}
}
public static void main (String[] args){
new reporte().Report();
}
}
Jasper Report
http://jasperforge.org/sf/projects/jasperreports
iReport
http://sourceforge.net/projects/ireport/

gracias por tu codigo es justo lo q necesito... solo un detalle .. me da error en la siguiente linea
jasperPrint = JasperFillManager.fillReport(jasperReport, jdbcConnection);
symbol : method fillReport(net.sf.jasperreports.engine.JasperReport,java.sql.Connection)
location: class net.sf.jasperreports.engine.JasperFillManager
jasperPrint = JasperFillManager.fillReport(jasperReport, jdbcConnection);
1 error
Espero puedas ayudarme
Corregido XD
me sirvio mucho gracias
soy nuevo en java y estoy realizando una aplicación y necesito realizar reportes con gráficas seria el mismo código?
y me puedes decir de donde descargo las librerías para esto
mi correo es cesar_26mt@hotmail.com
agradezco su ayuda
Ola, ando buscando como hacer, para que el visor de reportes cuando se abra, ocupe toda la pantalla, es decir, quede maximizado.
Res: racso534@hotmail.com