RSS

Membaca dan Menulis data Excel di Java

23 Sep

Selamat malam Kawan, kali ini saya akan coba share bagaimana membaca dan menulis file excel dengan java.
Sebelum mulai coding, untuk read and write file excel di java, sudah disediakan library yang namanya JExcel API. nah kawan-kawan bisa unduh JExcel API disini atau bisa cari di Google 😀
Untuk Referensinya bisa dilihat disini
Ok, kalau sudah Let’s Try Code, Jangan lupa sediakan kopi, bagi yang suka ngopi 😀

1. Seperti biasa buat Project baru dulu.
2. Buat Kelas dengan nama BacaTulisExcel.java dan Main.java
3. Tambahkan Library jxl.jar hasil donload tadi kedalam Project, caranya :
– Klik kanan Libraries
Add Jar/Folder
– Pilih File jxl.jar yang sudah didonload tadi.
Open.

4. Berikut Isi dari Kelas BacaTulis.java :

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author MalaRia
 */
public class BacaTulis {

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) {
 }
 }
}

5. Isi Kelas Main.java

import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author MalaRia
 */
public class Main {

public static void main(String[] args) {
 new Main().menu();
 }

public void baca() {
 File fIn = new File("D:\\MalaExcel.xls");
 List<ArrayList<String>> data = new BacaTulis().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("D:\\MalaExcelWrite.xls");
 new BacaTulis().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();
 }
 }
}

Catatan :
 Pastikan Sumber data Excel Berada di Drive D:  dengan nama MalaExcel.xls
– Hasil Tulis Program ini nanti terletak di drive D: dengan nama MalaExcelWrite.xls
– Inputan Tulis File harus sebanyak 2 baris x 3 kolom (alias 6 kali input data)
Memang Contoh Program ini dibuat statis dalam DIrectori file maupun jumlah inputan data, dikarenakan agar
lebih mudah dipahami. Setelah Mencoba kawan-kawan bisa modifikasi program ini.

Bonus : Complete Souce Code

Semoga Bermanfaat 😀

Iklan
 
Tinggalkan komentar

Ditulis oleh pada September 23, 2012 in Java, Tutorial

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: