pippo33 Posted May 15, 2009 Share Posted May 15, 2009 Sorry but my english is so so I download jasper report 3.5.1 jar,source and iReport-nb-3.5.1 windows-installer, after installation i launched ireport and i do a simple file report2.jrxml. Now i want to use a java class for do a query , to fill report2.jrxml and create a pdf file on my server I read a lot of exemple and i try to execute the code but every time, dasn't work . I belived that the code was too old for this release. Some one can help me with a simple example that work with this release ? I wont to start to use this project bur i need a little help.Thank in advance for your help Link to comment Share on other sites More sharing options...
dnvsrikanth Posted May 15, 2009 Share Posted May 15, 2009 Hi, Go through the online tutorials that are available in the web. There are lot of online tutorials avaliable for iReport and JasperReports. DNV Srikanth Link to comment Share on other sites More sharing options...
pippo33 Posted May 15, 2009 Author Share Posted May 15, 2009 Belive me i tried a lot on internet site , but i find only old example that use old library, then i not was able to compile and execute.I know that my request seems stupid but for a beginner its not simple to understand what is wrong or how to substitute the old methodI also downolad the soruce project and the example code , but when i import method from jar( 3.5.1) i don' find a lot of class For this i need a simple and clear example to start . Thanks .Code:import java.io.IOException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.jasperreports.engine.*;import java.sql.Connection;import java.sql.DriverManager;import java.util.Collection;import java.util.HashMap;import java.util.Map;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.*;import net.sf.jasperreports.engine.export.*;import net.sf.jasperreports.engine.util.*;import net.sf.jasperreports.view.*;import net.sf.jasperreports.engine.fill.*;import net.sf.jasperreports.engine.print.*;import net.sf.jasperreports.engine.export.JRExporterContext;import net.sf.jasperreports.engine.*;public class StartReport extends HttpServlet { private static final long serialVersionUID = 1L; public StartReport() { super(); // TODO Auto-generated constructor stub } public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ @SuppressWarnings("deprecation") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { Class.forName("com.mysql.jdbc.Driver"); //conn=DriverManager.getConnection ("jdbc:oracle:thin:@193.70.215.86:1521:mputdb","rdamgr","terminator"); Connection conn = DriverManager.getConnection("jdbc:mysql://10.63.120.79:3306/crisago?" + "user=root&password=firefox" ); java.sql.Statement st=conn.createStatement(); conn.close(); }catch(Exception e){System.out.println("Bean try connessione main "+ e.toString());} try{ //File jasper sorgente String fileName="D:\\templates\\report1.jasper"; //File pdf di destinazione String destFileNamePdf="D:\\templates\\report1.pdf"; //File xls di destinazione String destFileNameXls="D:\\templates\\report1.xls"; //Passaggio parametri da passare al jasper. Map parameters = new HashMap(); parameters.put("param1", new Integer(1)); //Preparazione del file da stampare (in questa fase si esegue la query e si inseriscono //i valori estratti dalla query) JasperPrint jasperPrint=JasperPrintManager.fillReport(fileName, parameters, conn ); //Creazione del PDF JasperPrintManager.printReportToPdfFile(jasperPrint, destFileNamePdf); //Creazione dell'xls JRExporter exporter ; exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFileNameXls); exporter.exportReport(); System.exit(0); }catch (Exception e){ e.printStackTrace(); } } Link to comment Share on other sites More sharing options...
C-Box Posted May 15, 2009 Share Posted May 15, 2009 And what's wrong with the nice demos shipped with the full JasperReport Project download?????? There are lot's of samples how to create reports from standalone java apps without iReport- usefull for beginners or even experienced users for changed/new features. hthC-Box Link to comment Share on other sites More sharing options...
pippo33 Posted May 15, 2009 Author Share Posted May 15, 2009 Thanks, yes i do this. I used that code below( JasperApp ) , but i have an error that not understand . It work on ireport but not standalone.can help me? Thank in advance.Code:package report;/* * ============================================================================ * GNU Lesser General Public License * ============================================================================ * * JasperReports - Free Java report-generating library. * Copyright (C) 2001-2009 JasperSoft Corporation http://www.jaspersoft.com * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * JasperSoft Corporation * 539 Bryant Street, Suite 100 * San Francisco, CA 94107 * http://www.jaspersoft.com */import java.awt.Image;import java.awt.MediaTracker;import java.awt.Panel;import java.awt.Toolkit;import java.io.File;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.HashMap;import java.util.Map;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JRExporterParameter;import net.sf.jasperreports.engine.JasperExportManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperPrintManager;import net.sf.jasperreports.engine.JasperRunManager;import net.sf.jasperreports.engine.export.JExcelApiExporter;import net.sf.jasperreports.engine.export.JRCsvExporter;import net.sf.jasperreports.engine.export.JRRtfExporter;import net.sf.jasperreports.engine.export.JRXlsExporter;import net.sf.jasperreports.engine.export.JRXlsExporterParameter;import net.sf.jasperreports.engine.export.oasis.JROdtExporter;import net.sf.jasperreports.engine.util.JRLoader;/** * @author Teodor Danciu (teodord@users.sourceforge.net) * @version $Id: JasperApp.java 2692 2009-03-24 17:17:32Z teodord $ */public class JasperApp{ /** * */ private static final String TASK_FILL = "fill"; private static final String TASK_PRINT = "print"; private static final String TASK_PDF = "pdf"; private static final String TASK_XML = "xml"; private static final String TASK_XML_EMBED = "xmlEmbed"; private static final String TASK_HTML = "html"; private static final String TASK_RTF = "rtf"; private static final String TASK_XLS = "xls"; private static final String TASK_JXL = "jxl"; private static final String TASK_CSV = "csv"; private static final String TASK_ODT = "odt"; private static final String TASK_RUN = "run"; /** * */ public static void main(String[] args) { String[] Action ={ "fill" ,"matricole.jasper"}; if(args.length == 0) { usage(); //return; } String dir = "C:\\jasper\\"; String taskName = Action[0]; String fileName = dir+Action[1]; try { long start = System.currentTimeMillis(); if (TASK_FILL.equals(taskName)) { //Preparing parameters Image image = Toolkit.getDefaultToolkit().createImage( JRLoader.loadBytesFromLocation(dir+"dukesign.jpg") ); MediaTracker traker = new MediaTracker(new Panel()); traker.addImage(image, 0); try { traker.waitForID(0); } catch (Exception e) { e.printStackTrace(); } Map parameters = new HashMap(); parameters.put("ReportTitle", "The First Jasper Report Ever"); parameters.put("MaxOrderID", 11500); parameters.put("SummaryImage", image); System.out.println("-------------- "+ parameters.get("ReportTitle").toString()); JasperFillManager.fillReportToFile(fileName, parameters, getConnection()); System.err.println("Filling time : " + (System.currentTimeMillis() - start)); } else if (TASK_PRINT.equals(taskName)) { JasperPrintManager.printReport(fileName, true); System.err.println("Printing time : " + (System.currentTimeMillis() - start)); } else if (TASK_PDF.equals(taskName)) { JasperExportManager.exportReportToPdfFile(fileName); System.err.println("PDF creation time : " + (System.currentTimeMillis() - start)); } else if (TASK_XML.equals(taskName)) { JasperExportManager.exportReportToXmlFile(fileName, false); System.err.println("XML creation time : " + (System.currentTimeMillis() - start)); } else if (TASK_XML_EMBED.equals(taskName)) { JasperExportManager.exportReportToXmlFile(fileName, true); System.err.println("XML creation time : " + (System.currentTimeMillis() - start)); } else if (TASK_HTML.equals(taskName)) { JasperExportManager.exportReportToHtmlFile(fileName); System.err.println("HTML creation time : " + (System.currentTimeMillis() - start)); } else if (TASK_RTF.equals(taskName)) { File sourceFile = new File(fileName); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".rtf"); JRRtfExporter exporter = new JRRtfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); exporter.exportReport(); System.err.println("RTF creation time : " + (System.currentTimeMillis() - start)); } else if (TASK_XLS.equals(taskName)) { File sourceFile = new File(fileName); Map dateFormats = new HashMap(); dateFormats.put("EEE, MMM d, yyyy", "ddd, mmm d, yyyy"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".xls"); JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE); exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE); exporter.setParameter(JRXlsExporterParameter.FORMAT_PATTERNS_MAP, dateFormats); exporter.exportReport(); System.err.println("XLS creation time : " + (System.currentTimeMillis() - start)); } else if (TASK_JXL.equals(taskName)) { File sourceFile = new File(fileName); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".jxl.xls"); JExcelApiExporter exporter = new JExcelApiExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE); exporter.exportReport(); System.err.println("XLS creation time : " + (System.currentTimeMillis() - start)); } else if (TASK_CSV.equals(taskName)) { File sourceFile = new File(fileName); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".csv"); JRCsvExporter exporter = new JRCsvExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); exporter.exportReport(); System.err.println("CSV creation time : " + (System.currentTimeMillis() - start)); } else if (TASK_ODT.equals(taskName)) { File sourceFile = new File(fileName); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".odt"); JROdtExporter exporter = new JROdtExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); exporter.exportReport(); System.err.println("ODT creation time : " + (System.currentTimeMillis() - start)); } else if (TASK_RUN.equals(taskName)) { //Preparing parameters Image image = Toolkit.getDefaultToolkit().createImage("dukesign.jpg"); MediaTracker traker = new MediaTracker(new Panel()); traker.addImage(image, 0); try { traker.waitForID(0); } catch (Exception e) { e.printStackTrace(); } Map parameters = new HashMap(); parameters.put("ReportTitle", "The First Jasper Report Ever"); parameters.put("MaxOrderID", new Integer(10500)); parameters.put("SummaryImage", image); JasperRunManager.runReportToPdfFile(fileName, parameters, getConnection()); System.err.println("PDF running time : " + (System.currentTimeMillis() - start)); } else { usage(); } } catch (JRException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } /** * */ private static void usage() { System.out.println( "JasperApp usage:" ); System.out.println( "\tjava JasperApp task file" ); System.out.println( "\tTasks : fill | print | pdf | xml | xmlEmbed | html | rtf | xls | jxl | csv | odt | run" ); } /** * */ private static Connection getConnection() throws ClassNotFoundException, SQLException { provaReport pippo=new provaReport(); String result="";Connection conn=null; Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sugarcrm?user=root&password=terminator" ); return conn; }}the error is :java.lang.NullPointerException at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at java.io.ObjectStreamClass.invokeReadObject(Unknown Source) at java.io.ObjectInputStream.readSerialData(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.defaultReadFields(Unknown Source) at java.io.ObjectInputStream.readSerialData(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readArray(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.defaultReadFields(Unknown Source) at java.io.ObjectInputStream.readSerialData(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.defaultReadFields(Unknown Source) at java.io.ObjectInputStream.readSerialData(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readObject(Unknown Source) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:88) at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:89) at report.JasperApp.main(JasperApp.java:134) Link to comment Share on other sites More sharing options...
andfedotov Posted May 15, 2009 Share Posted May 15, 2009 Looks like you have some problems with your report parameters. Create a simple report (say, with one TextField) and try it, so that you discover what was the cause of your problem. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now