Jasper Report

Hay hay... Mau posting nii.. Hari ini saya mau posting cara untuk membuat jasper report. Seperti membuat report
di microsoft access. Sudahlah tak usah berbelit-belit.. Langsung saja saya perlihatkan source code nya.
Anda harus membuat class MyIo terlebih dahulu.

package id.go.kemenkeu.simple.kwitansi.action;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.security.CodeSource;
import java.security.ProtectionDomain;

import org.blueoxygen.cimande.CimandeAction;

public class MyIo extends CimandeAction{
public static File getBaseFolder() throws IOException {
ProtectionDomain domain = MyIo.class.getProtectionDomain();
CodeSource source = domain.getCodeSource();
URL url = source.getLocation();

if (!"file".equals(url.getProtocol())){
throw new IOException("Code source location not a file:" + url);
}

String path = url.getPath().replaceAll(" ", " ");
return (new File(path.substring(0, path.lastIndexOf("/WEB-INF/"))));
}

}

Setelah itu anda buat class cetak. Class ini menentukan mau disimpan dalam bentuk apakah report anda nanti.
Apakah berbentuk .pdf atau .odt. Untuk contoh saya akan berikan untuk yang mencetak .pdf.

package id.go.kemenkeu.simple.kwitansi.action;

import java.io.File;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.HashMap;

import javax.swing.JOptionPane;

import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;

import org.blueoxygen.cimande.CimandeAction;

public class Cetak extends CimandeAction{
String id;
public String execute() {

try {
String outPath = MyIo.getBaseFolder().getPath();
File file = new File(outPath + "/folderJasper/" + "kwitansi"
+ ".jasper");

/*
* Buat koneksi yang sama seperti pada report
*/

String url = "jdbc:mysql://localhost:3306/keuLagi";
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, "root", "");
// Connection con = datasource.getConnection();

if (con != null) {

System.out.println("koneksi " + con);
} else {
System.out.print("tidak konek");
}

HashMap parameters=new HashMap();
parameters.put("ID", id);





JasperReport jasperReport = (JasperReport) JRLoader
.loadObject(file);
JasperPrint jasperPrint = JasperFillManager.fillReport(
jasperReport, parameters, con);
JasperViewer.viewReport(jasperPrint, false);

OutputStream outputStream = null;

JRLoader.loadObject(file);
JRPdfExporter pdfExporter = new JRPdfExporter();
pdfExporter.setParameter(JRExporterParameter.JASPER_PRINT,
jasperPrint);
pdfExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
outPath + "/pdf/" + "kwitansi" + ".pdf");

System.out.println("Exporting report...");
System.out.println("Xls report Done!");
pdfExporter.exportReport();
System.out.println("Done!");
System.out.println("Html Report Done");

} catch (Exception e) {
String connectMsg = "Could not create the report " + e.getMessage()
+ " " + e.getLocalizedMessage();
System.out.println("\n" + "\n" + connectMsg);
return ERROR;
}

return SUCCESS;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}

}

O iya maaf. Saya lupa. Sebelum anda memberikan source code yang tadi, anda harus mempunyai IReport.
Ini digunakan untuk mendesign report yang akan anda tampilkan.

Selamat Mencoba...

 

« Date??? | Main


Comments:

agar tetap alwaysOnTop gimana ??????

Posted by monica on Mei 11, 2011 at 08:16 PM WIT #

Dear Mbak Monica...
Itu class Mylo itu untuk apa ya Mbak?

Terus kemarin saya sudah coba buat, tapi ada beberapa masalah dalam pembuatan class JasperPrint dan JRViewer.

Itu kode di atas sudah lengkap ya Mbak? Dengan cara menempelkannya ke button di Aplikasi kita?

Tks

Posted by Je on Desember 07, 2011 at 03:42 PM WIT #

Post a Comment:
  • HTML Syntax: Allowed