2016-06-23 3 views
3

ich den folgenden Code verwenden einen Bericht zu drucken:Nach dem Kompilieren sales.jrxml Datei erstellen es null.jasper statt sales.jasper

JasperPrint jasperPrint = null; 

    try { 
     JasperCompileManager.compileReportToFile("C:\\Nevro\\reports\\salesDetails.jrxml"); 
     jasperPrint = JasperFillManager.fillReport("C:\\Nevro\\reports\\salesDetails.jasper", new HashMap(), 
       new JRTableModelDataSource(itemTable.getModel())); 
     JasperViewer jasperViewer = new JasperViewer(jasperPrint); 
     jasperViewer.setVisible(true); 
    } catch (JRException ex) { 
     Logger.getLogger(Invoice.class.getName()).log(Level.SEVERE, null, ex); 
    } 

In dem Ort C:\Nevro\reports\ ich salesDetails.jrxml erstellt habe. Dann lese ich in Java-Code die Datei und kompiliere sie. Ich habe erwartet, kompilierte Datei als salesDetails.jasper zu erstellen, aber es erstellt nur null.jasper.

Kann mir jemand einen Grund und eine Lösung geben, um das zu klären?

Antwort

2

Der Dateiname von dieser Codezeile in der Jasper-Bibliothek generiert:

File destFile = new File(sourceFile.getParent(), jasperDesign.getName() + ".jasper"); 

Es den Pfad der jrxml Datei nimmt und die Ausgabedatei auf den Namen des Berichts basiert (im XML konfiguriert). In Ihrem Fall hat der Bericht keinen Namen, Sie erhalten also null.jasper.

+0

Arbeit erledigt. Danke Kumpel deine Antwort führe mich zur Lösung. als folge meinem neuen Code ist JasperCompileManager.compileReportToFile ("C: \\ Nevro \\ berichtet \\ salesDetails.jrxml", "C: \\ Nevro \\ berichtet \\ salesDetails.jasper"); – Lasan

1

Sie können auch Namen .jasper Datei explizit wie geben,

JasperCompileManager.compileReportToFile(
       our_jasper_template.jrxml",//the path to the jrxml file to compile 
       our_compiled_template.jasper");//the path and name we want to save the com 

So ist der obige Code .jasper Datei an derselben Stelle generieren, wo .jrxml Datei vorhanden ist.

Verwandte Themen