Menulis ke File Excel di Java

Setelah sebelumnya adalah cara sederhana untuk membaca file Excel, saat ini mari belajar untuk menulis ke file excel dengan java. Masih menggunakan library jxl.jar, dimana library-nya bisa diunduh sendiri :). Langsung saja, berikut potongan programnya :

File file = new File("Write Excel.xls"); //nama file yang akan dibuat

WritableWorkbook workbook = Workbook.createWorkbook(file);
WritableSheet sheet = workbook.createSheet("Sheet Pertama", 0);//sheet pertama, dimulai dari nol
Label label = new Label(0, 2, "Nama Label");//nama label, di kolom pertama, baris ketiga
sheet.addCell(label);

Number number = new jxl.write.Number(4, 5, 98989898);//field, pada kolom ke-5, baris ke-6
sheet.addCell(number);

workbook.write();
workbook.close();

Semoga bermanfaat, mohon koreksi kalau ada yang kurang tepat. terimakasih.

Membaca File Excel di Java

Berawal dari kerjaan di kantor yang salah satu task-nya mengharuskan membaca file excel, setelah beberapa waktu, akhirnya menemukan salah satu solusi buat masalahku ini. Berikut adalah contoh code-nya :

 

    import java.io.File;
    import java.io.IOException;
    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.read.biff.BiffException;
    public class readExcel {

     public void readFile (String directory) throws IOException, BiffException{
        File file = new File(directory);

        Workbook workbook = Workbook.getWorkbook(file);
        Sheet[] sheet = workbook.getSheets();

        int x = sheet[0].getRows();
        int y = sheet[0].getColumns();
        for (int i = 0; i < x; ++i){
            for (int j = 0;j < y; ++j){
                String ret = sheet[0].getCell(j, i).getContents();
                System.out.println("cell : "+i+" , "+j+" : "+ret);
            }
        }
      }
    }

 

Sheet, Columns dan Rows semua dimulai dari nol. Dan pada kasus ini, nama file (termasuk directory file) berada pada variabel directory. File excel yang dibaca hanya ada 1 sheet (yang berarti sheet nol).

Pada baris :

String ret = sheet[0].getCell(j, i).getContents();
getCell(j,i)

“j” adalah kolom, dan “i” adalah baris.

getCell(kolom,baris).

Ini yang biasanya salah dipahami, karena kebiasaan yang ada adalah (baris,kolom).

Sekian, semoga bermanfaat. Saya yakin code tersebut masih jauh dari baik, untuk itu, dan saya sangat senang bila ada masukan dari pengunjung semua. Terimakasih.

PS : hampir lupa. Sebelumnya kita perlu meng-import library “jxl.jar “kedalam program yang akan kita bikin.