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.
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.
- Download paket Apache POI, Apache POI – Java API To Access Microsoft Format Files. Saya mendownload versi 3.0.2 beta
- 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.
- Buka Netbeans dan buatlah sebuah project
- Tambahkan sebuah JFrame Form, setting titlenya dan buat satu button dengan nama btnCreateExcel
- 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
- Ketikkan kode program untuk method actionPerformed btnCreateExcel sebagai berikut
- Lakukan import untuk library yang dibutuhkan. Sekedar saran, gunakan opsi * (misalnya import org.apache.poi.hssf.usermodel.*;) untuk mempersingkat penulisan import.
- Jalankan form
01 | private void btnCreateExcelActionPerformed(java.awt.event.ActionEvent evt) { |
02 | try { |
03 | int i; |
04 | // TODO add your handling code here: |
05 | HSSFWorkbook wb = new HSSFWorkbook(); |
06 | HSSFSheet sheet = wb.createSheet("new sheet"); |
07 |
08 | // Create a row and put some cells in it. Rows are 0 based. |
09 | for (i = 1; i <= 10; i++) { |
10 | HSSFRow row = sheet.createRow((short) i); |
11 |
12 | // Aqua background |
13 | HSSFCellStyle style = wb.createCellStyle(); |
14 | style.setFillBackgroundColor(HSSFColor.AQUA.index); |
15 | style.setFillPattern(HSSFCellStyle.BIG_SPOTS); |
16 | HSSFCell cell = row.createCell((short) 1); |
17 | cell.setCellValue("X" + i); |
18 | cell.setCellStyle(style); |
19 |
20 | // Orange "foreground", foreground being the fill foreground not the font color. |
21 | style = wb.createCellStyle(); |
22 | style.setFillForegroundColor(HSSFColor.ORANGE.index); |
23 | style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); |
24 | cell = row.createCell((short) 2); |
25 | cell.setCellValue("M" + i); |
26 | cell.setCellStyle(style); |
27 | } |
28 | // Write the output to a file |
29 | FileOutputStream fileOut = new FileOutputStream("workbook.xls"); |
30 | wb.write(fileOut); |
31 | fileOut.close(); |
32 | JOptionPane.showMessageDialog(null, "File Excel sudah tercipta"); |
33 | } catch (IOException ex) { |
34 | Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); |
35 | } |
36 | } |
0 komentar:
Posting Komentar