- Java – Vavai - http://java.vavai.com -

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 [1], 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. private void btnCreateExcelActionPerformed(java.awt.event.ActionEvent evt) {
    try {
    int i;
    // TODO add your handling code here:
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet(“new sheet”);

    // Create a row and put some cells in it. Rows are 0 based.
    for (i = 1; i <= 10; i++) { HSSFRow row = sheet.createRow((short) i); // Aqua background HSSFCellStyle style = wb.createCellStyle(); style.setFillBackgroundColor(HSSFColor.AQUA.index); style.setFillPattern(HSSFCellStyle.BIG_SPOTS); HSSFCell cell = row.createCell((short) 1); cell.setCellValue("X" + i); cell.setCellStyle(style); // Orange "foreground", foreground being the fill foreground not the font color. style = wb.createCellStyle(); style.setFillForegroundColor(HSSFColor.ORANGE.index); style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cell = row.createCell((short) 2); cell.setCellValue("M" + i); cell.setCellStyle(style); } // Write the output to a file FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close(); JOptionPane.showMessageDialog(null, "File Excel sudah tercipta"); } catch (IOException ex) { Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); } } [/code]

  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.

27 Comments (Open | Close)

27 Comments To "Tips Java : Membuat File Excel – Spreadsheet"

#1 Comment By Ronsen On January 25, 2008 @ 6:34 am

Sebaiknya jangan menyimpan library apapun ke dalam direktori lib dari JDK. Tapi sebaiknya disimpan di dalam direktori lib dari projek.

#2 Comment By Vavai On January 25, 2008 @ 6:45 am

Terima kasih untuk masukkannya boss. Itu aku malas ubah classpath atau memasukkan classpath dikode šŸ™‚

#3 Comment By Gamma On January 25, 2008 @ 8:37 am

Kalau artikel ini tujuannya untuk membantu orang lain, sebaiknya jangan malas2 mas Vavai, nanti malah mengajarkan yang kurang benar untuk para pemula.

Saran saya sih, sebaiknya diperbaiki itu contohnya.

#4 Comment By Vavai On January 25, 2008 @ 9:10 am

#Gamma,

Siap mas, saya akan revisi contohnya. Thanks untuk advisnya.

#5 Comment By Gilberto On January 27, 2008 @ 10:40 am

Lha, mas Vavai ini kan juga masih newbie di Java, maklum……
pemula yg ingin mengajari pemula…….

#6 Pingback By Planet dot Qwords.com » Blog Archive » Tips Java : Membuat File Excel – Spreadsheet On January 27, 2008 @ 11:29 pm

[…] Continue Reading "Tips Java : Membuat File Excel – Spreadsheet" […]

#7 Pingback By Java – Vavai » Tips & Trick » Tips Java : Menjalankan File dengan Aplikasi Default On January 29, 2008 @ 9:14 am

[…] digabungkan dengan tutorial sebelumnya : “Membuat file Excel – Spreadsheet”, kita dapat melakukan otomatisasi buka file setelah file report spreadsheet […]

#8 Comment By AINUL On June 30, 2008 @ 3:03 am

Salam kenal ya mas Vavai.
Saya ada pertanyaan neh.
Saya sudah coba buat File Excel dengan java seperti petunjuk mas Vavai dan berhasil.
Yang saya tanyakan gimana sih codingnya apabila saya mau membuat file Excel yang datanya
saya ambil dari database…??
Terima Kasih Buanyak….!

#9 Comment By strangevarius On August 20, 2008 @ 8:25 am

klo males nambah lib, kan di netbeans mah enak tinggal add aja lib yang bersangkutan.

#10 Comment By anas On November 15, 2008 @ 8:15 am

mas….kita juga ada project open source membuat taglib dari apache poi sehingga memudahkan penggunaanya dalam bahasa pemrograman JSP. tolong dikunjungi dan dicoba ya mas..jangan lupa kasih masukan soalnya masih banyak kekurangannya…makasih…

#11 Comment By anas On November 15, 2008 @ 8:19 am

mas..sori lupa alamat blog kita di [2]. oya, salam kenal dari portexproject’s team

#12 Comment By infinity On March 13, 2009 @ 3:05 am

Dapet contoh dari mana tu. nggak terlalu lengkap. penggunaannya juga nggak jelas

#13 Comment By Andika Kameswara On March 13, 2009 @ 3:32 am

@Infinity,

Yang jelas itu kayak gimana ? Ada contoh yang jelas nggak ? Nggak ada solusi lain ya percuma saja.

#14 Comment By infinity On March 13, 2009 @ 12:18 pm

Klo and mau. anda bisa memakai pivot table. anda tidak perlu pusing memikir coding yang terlau rumit. tapi dengan pivot informasi jelas lebih dan sangat membantu. klo hanya sekedar coba2x dan tidak misi dan visi percuma aja. itu jelas membuang waktu

#15 Comment By Gwen On March 19, 2009 @ 1:48 am

Toturial yg bagus, bagi yg pemula seperti saya, karena bila diberikan yg cangih2 saya bukan jadi pinter, tapi malah jadi bingung. Bagi para senior mohon di tambahkan solusi-solusi yang lain dari contoh yg diberikan mas vavai, itung2 berbagi ilmu

#16 Comment By kiki On April 20, 2009 @ 2:48 am

slmt pagi …. saya mau tanya, mudah2an dpt membantu saya …
saya dapat sebuah CD yang isinya format berupa data2 yg harus saya isi. saya dapat dari depdiknas. tapi setelah saya buka, dan saya isi data2 saya…. tidak bisa. saya copy dan saya edit juga tetap tdk bisa disimpan. kenapa ya? mohon bantuannya…

atas bantuannya saya ucapkan terima kasih

kiky.

#17 Comment By Anhar Tasman On July 3, 2009 @ 9:31 pm

Mas tolong donk terangin skripnya satu persatu

#18 Comment By s On November 16, 2009 @ 6:35 am

mas, kl mau import data dari excel ke MySql melalui coding Java gmn caranya ya? tq.

#19 Comment By Estriol On January 28, 2011 @ 6:03 am

`*- I am really thankful to this topic because it really gives up to date information ‘;’

#20 Comment By craz On February 23, 2011 @ 3:22 pm

mas terus data excel tersebut tersimpan dimana….

#21 Comment By craz On February 23, 2011 @ 3:23 pm

satu lagi mas klo import nya bagaimana

#22 Comment By iPod Touch Games On April 28, 2011 @ 3:37 am

Unsettled post, I believe website owners should larn a lot with this weblog its rattling customer pleasant.

#23 Comment By Blast 4 Fun On May 31, 2011 @ 6:47 pm

Test cddae Blasts are Fun

#24 Comment By Jan Cioni On August 2, 2011 @ 7:07 pm

pay for brueninghaus dykeman millar classification addie impunity cider okla

#25 Comment By Ladies Watches Only On August 17, 2011 @ 12:26 pm

Hey ā€“ good blog, just looking around some blogs, seems a fairly good platform You Are using. Iā€™m at the moment utilizing Drupal for a couple of of my sites however seeking to change one in all them over to a platform very a lot the identical to yours as a trial run. Anything particularly you would recommend about it?

#26 Comment By erwewede On September 25, 2015 @ 7:08 pm

Sungguh membantu. Terima kasih banyak dan salam kenal.

#27 Comment By premium themes On October 3, 2018 @ 10:40 am

subhanallah, bagus sekali artikelnya. memang saya masih mersakan tidak terlalu mudah untuk bisa selalu berpikiran positif. biasanya karena ada pengalaman yang kurang menyenangkan atau kurang baik dengan hal itu.