Selasa, 31 Mei 2011

Tips Java : Membuat File Excel – Spreadsheet

Salah satu feature laporan yang sering diminta oleh customer adalah laporan data dalam bentuk Spreadsheet. Bisa Excel bisa juga Open Office. Pada dasarnya, karena Open Office mampu membuka file Excel sedangkan Excel tidak mampu (tidak mau ?) membuka file Open Office, pilihan yang ada adalah menambahkan kemampuan Export data ke Excel.
Sebagian report memang memiliki kemampuan export data, namun salah satu keunggulan yang bisa dipetik jika kita membuat kode program yang mampu melakukan ekspor data ke Excel secara manual adalah fleksibilitas yang jauh lebih luas.
Berikut adalah program Java sederhana untuk membuat file Excel. Saya buat sesederhana mungkin karena yang penting adalah polanya. Pada prakteknya, kita dapat menggunakan JDBC untuk mengambil data dan menempatkannya ke Excel.
Saya menggunakan IDE Netbeans, silakan sesuaikan settingnya dengan IDE yang anda gunakan.
  1. Download paket Apache POI, Apache POI – Java API To Access Microsoft Format Files. Saya mendownload versi 3.0.2 beta
  2. Ekstrak dan tempatkan file jar yang ada (poi-3.0.2-beta2-20080112.jar, poi-contrib-3.0.2-beta2-20080112.jar, poi-scratchpad-3.0.2-beta2-20080112.jar) ke dalam folder /opt/jdk1.6.0/lib. Sesuaikan lokasi penempatan dengan lokasi library Java anda.
  3. Buka Netbeans dan buatlah sebuah project
  4. Tambahkan sebuah JFrame Form, setting titlenya dan buat satu button dengan nama btnCreateExcel
  5. Klik kanan pada library project, pilih menu Properties dan pilih menu Add Jar/Folder untuk menambahkan ketiga file jar yang sudah kita tempatkan pada point 2
  6. Ketikkan kode program untuk method actionPerformed btnCreateExcel sebagai berikut
  7. view source
    print?
    01private void btnCreateExcelActionPerformed(java.awt.event.ActionEvent evt) {
    02try {
    03int i;
    04// TODO add your handling code here:
    05HSSFWorkbook wb = new HSSFWorkbook();
    06HSSFSheet sheet = wb.createSheet("new sheet");
    07 
    08// Create a row and put some cells in it. Rows are 0 based.
    09for (i = 1; i <= 10; i++) {
    10HSSFRow row = sheet.createRow((short) i);
    11 
    12// Aqua background
    13HSSFCellStyle style = wb.createCellStyle();
    14style.setFillBackgroundColor(HSSFColor.AQUA.index);
    15style.setFillPattern(HSSFCellStyle.BIG_SPOTS);
    16HSSFCell cell = row.createCell((short) 1);
    17cell.setCellValue("X" + i);
    18cell.setCellStyle(style);
    19 
    20// Orange "foreground", foreground being the fill foreground not the font color.
    21style = wb.createCellStyle();
    22style.setFillForegroundColor(HSSFColor.ORANGE.index);
    23style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
    24cell = row.createCell((short) 2);
    25cell.setCellValue("M" + i);
    26cell.setCellStyle(style);
    27}
    28// Write the output to a file
    29FileOutputStream fileOut = new FileOutputStream("workbook.xls");
    30wb.write(fileOut);
    31fileOut.close();
    32JOptionPane.showMessageDialog(null, "File Excel sudah tercipta");
    33} catch (IOException ex) {
    34Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
    35}
    36}
  8. Lakukan import untuk library yang dibutuhkan. Sekedar saran, gunakan opsi * (misalnya import org.apache.poi.hssf.usermodel.*;) untuk mempersingkat penulisan import.
  9. Jalankan form
Program diatas menunjukkan demonstrasi penempatan string pada suatu posisi, termasuk melakukan pewarnaan background. Silakan modifikasi sesuai dengan hasil yang diinginkan.



Artikel Terkait



0 komentar:

Posting Komentar

Template by : kendhin