BAB 12 - Membaca File dari Ms. Excel - TeachMeSoft

BAB 12 - Membaca File dari Ms. Excel

BAB 12 - Membaca File dari Ms. Excel

Capaian dan Indikator


1. Capaian Pembelajaran

Setelah mempelajari bab ini, mahasiswa diharapkan:
  1. Memahami cara untuk membaca dan menulis data ke dalam file excel
  2. Memahami cara menerapkan library jxl dalam program

2. Indikator

  1. Mahasiswa mampu mengimplementasikan proses pembacaan dan penulisan data dari/ kedalam file excel.
  2. Mahasiswa mampu menerapkan library jxl dalam program


Uraian Materi


Salah satu keunggulan java adalah kaya akan library yang sangat beguna dalam membangun aplikasi. Salah satu fitur yang akan dibahas pada baba ini adalah library jxl yang merupakan salah satu library yang cukup banyak dipakai untuk membaca data pada dokumen berekstensi .xls.

A. Persiapan Library jxl

Library jExcelAPI (jxl) dapat secara mudah dan gratis untuk Anda unduh pada link: https://sourceforge.net/projects/jexcelapi/files/. Library tersebut memang termasuk library yang telah cukup lama dikembangkan, namun library ini adalah salah sau yang paling mudah digunaka dan ringan. Library jxl mampu membaca file Excel versi 95, 9, 2000000, XP, dan 20033. Meskipun tidak dapat membaca format file Excel terbaru saat ini, namun masih banyak yang menggunakan library ini.

Pada bab ini, akan menggunakan kembali package Proyek_1 yang telah kita buat sebuelumnya. Setelah Anda berhasil mengunduh library jxl, maka lakukan extract file tersebut sehingga kita bisa menemukan folder yang di dalamnya terdapat aplikasi jxl.jar. Setelah itu, pada tab "Projects" di Netbeans, klik kanan pada bagian "Libraries", lalu pilih "Add JAR/Folder". Setelah itu kita load file jxl.jar yang telah kita unduh sebelumnya.





B. Mencetak file Excel

Pada dasarnya, proses mencetak atau menulis data ke dalam file Excel adalah dengan cara menempatkan data satu persate ke dalam cell yang ada di dalam Excel. Penempatan data tersebut ditentukan oleh koordinat cell yang dituju. Misalnya, kode s.addCell (new Label(0, 0, "Hello World" akan meletakkan kalimat "Hello World" pada cell baris ke-0 dan kolom ke-0 atau sama saja dengan cell A1.

Pada pembahasan ini, kita akan mempraktikkan bagaimana mencetak data yang ada pada jTable agar tersimpan dalam file .xls. Sebelummnya, kita tambahkan dulu sebuah tombol untnuk melakukkan aksi tersebut, kemudian kita akses method jButton2ActionPerformed dari tombol tersebut untuk kemudian kita isi kode program untuk mencetak file .xls. Sebagai contnoh, pada modul ini tombol "Export to Excel" kita letakan pada bagian bawah sebelah kanan dari jTable. Perhatikan gambar berikut ini untuk lebih jelasnya.

Kode program yang kita tuliskan di dalam method jButton2ActionPerformed() dapat dilihat pada gambar di bawah ini.

private void jButton2ActionPerformed(Java.awt.event.ActionEvent evt){
 try{
  //Mendefinisikan file XLS bru bernama "DataKaryawan.xls"
  WritableWorkbook w = workbook.createWorkbook(new File("D:/DataKaryawan.xls"));
  
  //Membuat sheet baru bernama "Karyawan" index 0 berarti sheet pertama
  WritableSheet s = w.createSheet("Karyawan",0);
  
  //Membaca data dari jTable untuk dicetak ke dalam Excel
  for (int baris = 0; baris < model.getRowCount(); baris++){
   for(int kolom = 0; kolom < model.getColumnCount(); kolom++){
    //Membaca data per cell pada jTable
    String data = model. getValueAt(baris, kolom).toString();
    
    //Menambahkan cell data pada file Excel
    s.addCell(new Label(kolom, baris, data));
   }
  }
  
  //Menuliskan pada file XLS
  w.write();
  
  //Menutup koneksi
  w.close();
  
  //Menampilkan notifikasi bahwa data berhasil ditulis ke Excel
  String Pesan = "Data berhasil diekspor ke Excel!";
  JOptionPane.showMessageDialog(null, Pesan, "Berhasil", JOptionPane.INFORMATION_MESSAGE);
  
 }catch (Exception aoEx){
  System.err.print("Terjadi Error");
 }
}


Keterangan program :



Pada gambar di atas kita membuat sebuah file baru pada direktori D: yang kita beri nama DataKaryawan.xls (baris ke-291). Setelah itu, kita membuat pula sebuah sheet baru bemama "Karyawan" (baris ke-294). Pada baris ke-297 s.d. baris ke-305, kita membaca data pada jTable secara cell per cell, kemudian mengalokasikan cell pada ji/e DataKaryawan.xls yang nantikan akan digunakan untuk menulis data yang dibaca tersebut. Selanjutnya, pada baris ke-314 s.d. baris ke-31 5, kita menampilkan dialog box untuk menginformasikan kepada user bahwa data telah berhasil ditulis dalam ji/ e Excel."

C. Membaca File Excel

Pada pembahasan ini, kita akan membuat sebuah form GUI baru untuk menampilkan data yang dibaca dari file Excel. Mula-mula kita buat ''New Project"" dari menu "File 7 New Project'', lalu pilih "Java" pada bagian Categories, kemudian pilih "Java Application" pada bagian Projects. Beri nama "BacaExcel" pada bagian Project Name. Lakukan import library jxl ke dalam project BacaExcel ini dengan cara seperti yang telah dijelaskan sebelumnya.

Setelah itu, kita buat lagi sebuah kelas baru melalui menu "File 7 New File'', lalu pilih "Swing GUI Forms" pada bagian Categories, lalu pilih "JFrame Form" pada bagian File Types. Beri nama file tersebut dengan nama "FormBacaExcel". Selanjutnya kita desain form GUI seperti gambar di bawah ini:

Pada tombol "Baca File Excel'', kita klik dua kali sehingga secara otomatis Netbeans akan membuatkan method jButtonlActionPerformed( ). Pada method tersebut kita isikan kode program di bawah ini :
private void jButton2ActionPerformed(Java.awt.event.ActionEvent evt){
 try{
  //mengambil direktori file excel yang ingin dibaca
  String direktori = "D:/DataKaryawan.xls";
  
  //membaca isi file
  File inputWorkbook = new File(direktori);
  Workbook w;
  try{
   w = Workbook.getWorkbook(inputWorkbook);
   
   //ambil sheet pertama, nomer 0 menandakan sheet ke 1
   Sheet sheet = w.getSheet(0);
   
   //Looping sebanyak baris dan kolom yang ada
   Object[] obj = new Object[7];
   for (int i = 0; i < sheet.getRows(); i++){
    for (int j = 0; j < sheet.getColumns(); j++){
     //Membaca data pada cell kolom ke-j, baris ke-i
     Cell cell = sheet.getCell(j, i);
     
     //Menyimpan data sementara pada obj
     obj[j]=cell.getContents();
    }
    //Menampilkan data obj ke dalam tabel baris per baris
    model.addRow(obj);
   }
  }catch (BiffException e){
   e.printStackTrace;
  }catch (IOException ex){
   Logger.getLogger(FormBacaExcel.class.getNama()).log(Level.SEVERE, null, ex);
  }
 }
}


Keterangan program :



*Catatan: Anda harus terlebih dahulu membuat table model untuk jTable yang Anda buat pada FormBacaExcel. Cara membuat table model telah dijelaskan pada Bab 10.

Selanjutnya, jangan lupa melakukan instansiasi objek FormBacaExcel pada main class, yakni file BacaExcel.java.

package bacaexcel;

public class BacaExcel{
 public static void main(String[] args){
  FormBacaExcel form = new FormBacaExcel();
  form.setVisible(true);
 }
}


Keterangan program :



Ketika program dijalankan dan tombol "Baca File Excel" diklik, maka apl ikasi akan membacafile  Excel yang telah disiapkan sebelumnya dan menam pilkann nya ke dalam tabel.



Full coding



Keterangan program :




Output




Disqus comments