Rabu, 06 Februari 2013

cara membaca dan menulis file excel di java



Kali ini aku akan membagikan cara membaca dan menulis file excel di java :

1. Yang pertama-tama kita masukkan dulu library jxl.jar, untuk library-nya bisa kita googling.

2.  Setelah itu masukkan library-nya ke dalam folder project-nya atau untuk lebih bagusnya kamu
     bikin sendiri folder lib-nya di dalam projectnya, tujuannya agar project bisa  dipakai di berbagai
     laptop/computer yang berbeda.


3.  Berikut ini script untuk menampilkan data excel di java (untuk class baca_file):

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import jxl.Sheet;
import jxl.Workbook;
public class file_excel {
public List<ArrayList<String>> baca(File inpFile) {
 List<ArrayList<String>> data = new ArrayList<ArrayList<String>>();
 try {
 Workbook w1 = Workbook.getWorkbook(inpFile);
 Sheet s1 = w1.getSheet(0);
ArrayList<String> dt = null;
for (int i = 0; i < s1.getRows(); i++) {
 dt = new ArrayList<String>();
 for (int j = 0; j < s1.getColumns(); j++) {
 dt.add(j, s1.getCell(j, i).getContents());
 }
 data.add(dt);
 }
 } catch (Exception e) {
 }
 return data;
 }

public void tulis(File fOut, List<ArrayList<String>> data) {
WritableWorkbook w2 = null;
 try {
 w2 = Workbook.createWorkbook(fOut);
 WritableSheet s2 = w2.createSheet("CobaSheet", 0);
 Label lab = null;
for (int i = 0; i < data.size(); i++) {
 for (int j = 0; j < data.get(i).size(); j++) {
 lab = new Label(j, i, data.get(i).get(j));
 s2.addCell(lab);
 }
 }
 w2.write();
 w2.close();
 } catch (Exception e) {
 }
 }
}



Setelah itu bikin class baru (nama : main) :
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class main {
public static void main(String[] args) {
 new main().menu();
 }
public void baca() {
 File fIn = new File("E:\\data.xls");
 List<ArrayList<String>> data = new file_excel().baca(fIn);
for (ArrayList<String> arrayList : data) {
 for (int i = 0; i < arrayList.size(); i++) {
 System.out.print(arrayList.get(i) + " - ");
 }
 System.out.println("");
 }
 }

public void input() {
 Scanner inp = new Scanner(new InputStreamReader(System.in));
 ArrayList<ArrayList<String>> data = new ArrayList<ArrayList<String>>();
 int klm = 3;
 int brs = 2;
 ArrayList<String> dt;
for (int i = 0; i < brs; i++) {
 dt = new ArrayList<String>();
 for (int j = 0; j < klm; j++) {
 System.out.print("Masukkan Data Baris " + (i+1) + " Kolom " + (j+1) + " : ");
 dt.add(inp.nextLine());
 }
 data.add(dt);
 }
for (ArrayList<String> rec : data) {
 System.out.println(rec.get(0) + " - " + rec.get(1) + " - " + rec.get(2));
 }
File fOut = new File("E:\\data.xls");
 new File_excel().tulis(fOut, data);
 }
public void menu() {
 Scanner inp = new Scanner(new InputStreamReader(System.in));
 System.out.println("1. Lihat Data");
 System.out.println("2. Tulis Data");
 System.out.print("Pilihan : ");
 int pil = inp.nextInt();
switch (pil) {
 case 1:
 new main().baca();
 break;
 case 2:
 new main().input();
 break;
 default:
 new main().menu();
 }
 }
}

Berikut ini outputnya :
Setelah itu kita lihat di drive E sesuai dengan tempat penyimpanan yang sudah kita masukkan ke dalam script :



 Setelah itu kita buka file excel-nya dan isinya akan seperti yang kita masukkan di awal :


 Sekarang kita lihat data excel yang telah kita buat sebelumnya di aplikasi yang sudah dibuat :