Masih ingat Step by step Jasper Report Tutorial ? Didalam tutorial tersebut jasper yang dihasilkan ialah dalam format pdf, emang pada dasarnya seperti itu (default-nya pdf). Nah berikut cara mengexport report tersebut dalam format excel (xls).

Pertama-tama, tambahkan libraries java dibawah ini kedalam project :

  1. fonts.jar apache poi-3.7 atau lebih.
  2. jxl-2.4.2.jar (klo ada versi terbaru boleh juga)
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;

/**
 *
 * @author mdsaputra
 */
public class Main {

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args)
    {
        new Main().report();
    }

    private void report()
    {
        Map params = new HashMap();
        //buat data dummy
        List<DummyData> listOfDummyData = new ArrayList<DummyData>();
        DummyData dummyData = new DummyData();
        for (int i = 0; i < 28; ++i) {
            dummyData = new DummyData();
            dummyData.setFirst("Meihta");
            dummyData.setMiddle("Dwiguna");
            dummyData.setLast("Saputra");
            listOfDummyData.add(dummyData);
        }

        JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(listOfDummyData);
        System.out.println(dataSource.getRecordCount());
        params.put("author", "by : mdsaputra.wordpress.com");
        params.put("dataSource", dataSource);
        //net.sf.jasperreports.engine.JRDataSource
        try {
            JasperPrint printer = JasperFillManager.fillReport(getClass().getResourceAsStream("TutorialJasper.jasper"), params, new JREmptyDataSource());
            //generate kedalam file report.pdf
            JasperExportManager.exportReportToPdfFile(printer, "C:/report.pdf");
            //tampilkan print viewer/dialog
            //ya benar, jasper memiliki print dialog sendiri, kerenkan?
            //jadi tidak usah repot membuka file pdf yang sudah digenerate, dan memanggil fungsi print bawaan java
            JasperViewer jv = new JasperViewer(printer);
            jv.show();
        } catch (JRException ex) {
            ex.printStackTrace();
        }
    }

}

Lalu ikuti source code diatas seperti pada tutorial sebelumnya, selanjutnya cukup replace highlighted baris diatas dengan code dibawah ini :

JRXlsExporter exporter= new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, printer);
exporter.setParameter(JRExporterParameter.IGNORE_PAGE_MARGINS, true);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "C:/Logbook-Reception.xls");
exporter.exportReport();

Mudahkan? Selamat mencoba dan semoga bermanfaat.😉

Untuk informasi post terbaru :