<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Java - Vavai &#187; Tips &amp; Trick</title>
	<atom:link href="http://java.vavai.com/category/tutorial-tips-trik/tips-trick/feed/" rel="self" type="application/rss+xml" />
	<link>http://java.vavai.com</link>
	<description>Mudah Belajar Java Bersama Vavai :-)</description>
	<lastBuildDate>Thu, 31 Jan 2008 04:46:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Tips Java : Mendapatkan IP Address dan Host Name</title>
		<link>http://java.vavai.com/2008/01/31/tips-java-mendapatkan-ip-address-dan-host-name/</link>
		<comments>http://java.vavai.com/2008/01/31/tips-java-mendapatkan-ip-address-dan-host-name/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 04:02:55 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tips & Trick]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/31/tips-java-mendapatkan-ip-address-dan-host-name/</guid>
		<description><![CDATA[Java menyediakan fungsi InetAddress untuk mendapatkan alamat IP maupun nama host suatu komputer. Alamat IP maupun nama host yang didapatkan tidak tergantung pada alamat ip dan nama host komputer lokal saja, namun juga dapat digunakan untuk mengecek alamat IP dan nama host di Internet, tentu dengan syarat komputer kita terhubung dengan internet. Penggunaan fungsi ini [...]]]></description>
			<content:encoded><![CDATA[<p>Java menyediakan fungsi InetAddress untuk mendapatkan alamat IP maupun nama host suatu komputer. Alamat IP maupun nama host yang didapatkan tidak tergantung pada alamat ip dan nama host komputer lokal saja, namun juga dapat digunakan untuk mengecek alamat IP dan nama host di Internet, tentu dengan syarat komputer kita terhubung dengan internet. Penggunaan fungsi ini juga terkait erat dengan setting DNS pada komputer yang kita gunakan.</p>
<p><span id="more-46"></span>Berikut adalah contoh program yang menunjukkan fungsionalitas tersebut :</p>
<ol>
<li>Buatlah sebuah project baru Netbeans</li>
<li>Tambahkan sebuah JFrame Form</li>
<li>Lengkapi dengan 2 buah label, 2 buah TextField (txtIPAddress dan txtNamaHost) dan 3 buah Button (btnCheckIPAddress, btnCheckHostName dan btnCheckLokal). Lihat contoh pada gambar berikut :<img src="http://www.vavai.com/images/java/nb-hostname41.png" /></li>
<li>Ketikkan kode berikut pada btnCheckHostName, event actionPerformed
<pre class="brush: java; title: ; notranslate">
private void btnCheckHostNameActionPerformed(java.awt.event.ActionEvent evt) {
        try {
            String strHostName = InetAddress.getByName(txtIPAddress.getText()).getHostName();
            JOptionPane.showMessageDialog(null, &quot;Host name dari IP Address '&quot; + txtIPAddress.getText() +&quot;' = &quot;+ strHostName);
        } catch (UnknownHostException ex) {
            JOptionPane.showMessageDialog(null, ex);
            Logger.getLogger(frmIpAddress.class.getName()).log(Level.SEVERE, null, ex);

        }

    }
</pre>
</li>
<li>Lakukan import library yang diperlukan (import java.net.InetAddress; import javax.swing.JOptionPane;)</li>
<li>Ketikkan kode berikut pada btnCheckIPAddress, event actionPerformed
<pre class="brush: java; title: ; notranslate">
private void btnCheckIPAddressActionPerformed(java.awt.event.ActionEvent evt) {

        try {
            String strIPAddress = InetAddress.getByName(txtHostName.getText()).getHostAddress() ;
            JOptionPane.showMessageDialog(null, &quot;Alamat IP dari '&quot;+txtHostName.getText() +&quot;' =&quot;+  strIPAddress);
        } catch (UnknownHostException ex) {
            JOptionPane.showMessageDialog(null, ex);
            Logger.getLogger(frmIpAddress.class.getName()).log(Level.SEVERE, null, ex);

        }
    }
</pre>
</li>
<li>Ketikkan kode berikut pada btnCheckLokal event actionPerformed</li>
<pre class="brush: java; title: ; notranslate">
private void btnCheckLocalActionPerformed(java.awt.event.ActionEvent evt) {
         try {
            InetAddress AlamatInternet = InetAddress.getLocalHost();
            JOptionPane.showMessageDialog(null, &quot;Host name lokal : &quot; +AlamatInternet.getHostName());
            JOptionPane.showMessageDialog(null, &quot;IP Address lokal : &quot; +AlamatInternet.getHostAddress() );
        } catch (UnknownHostException ex) {
            JOptionPane.showMessageDialog(null, ex);
            Logger.getLogger(frmIpAddress.class.getName()).log(Level.SEVERE, null, ex);

        }
    }
</pre>
</li>
<li>Simpan dan jalankan aplikasi (SHIFT + F6). Masukkan IP Address dan klik pada &#8220;Check Host Name&#8221; atau masukkan host name dan klik &#8220;Check IP Address&#8221;. Check IP dan Host Lokal tidak membutuhkan masukan. Berikut adalah beberapa screenshot pesan yang tampil :<img src="http://www.vavai.com/images/java/nb-hostname1.png" />
<p><img src="http://www.vavai.com/images/java/nb-hostname2.png" /></p>
<p><img src="http://www.vavai.com/images/java/nb-hostname3.png" /></li>
</ol>
<p>Program ini tidak secara <em>smart</em> mendeteksi masukan apakah itu alamat IP ataukah host name. Untuk kemudahan, saya menggunakan 2 buah TextField sebagai contoh. Pada aplikasi terapan, input IP Address ataupun Host Name bisa didapatkan melalui variabel.</p>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/31/tips-java-mendapatkan-ip-address-dan-host-name/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Tips Java : Menjalankan File dengan Aplikasi Default</title>
		<link>http://java.vavai.com/2008/01/29/tips-java-menjalankan-file-dengan-aplikasi-default/</link>
		<comments>http://java.vavai.com/2008/01/29/tips-java-menjalankan-file-dengan-aplikasi-default/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 09:14:10 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tips & Trick]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/29/tips-java-menjalankan-file-dengan-aplikasi-default/</guid>
		<description><![CDATA[Veteran Visual Basic mungkin pernah mengenal perintah ShellExecute yang berfungsi membuka atau menjalankan suatu file dengan aplikasi pembukanya. Misalnya, jika kita membuka file test1.txt, file tersebut akan secara otomatis dibuka dengan Notepad atau Wordpad sesuai dengan setting default aplikasi pembuka. Jika kita membuka file .xls, Excel akan secara otomatis membukanya. Perintah ShellExecute ini penting karena [...]]]></description>
			<content:encoded><![CDATA[<p>Veteran Visual Basic mungkin pernah mengenal perintah ShellExecute yang berfungsi membuka atau menjalankan suatu file dengan aplikasi pembukanya. Misalnya, jika kita membuka file test1.txt, file tersebut akan secara otomatis dibuka dengan Notepad atau Wordpad sesuai dengan setting default aplikasi pembuka. Jika kita membuka file .xls, Excel akan secara otomatis membukanya. Perintah ShellExecute ini penting karena kita tidak perlu menebak dan mengingat-ingat, extension tertentu itu dibuka oleh aplikasi apa ?</p>
<p>Pada Java, menjalankan aplikasi dengan kondisi yang mirip biasanya menggunakan library <em>Runtime.exec</em>. Hanya saja, perintah yang dicontohkan biasanya menjalankan aplikasi tertentu yang biasanya memang <em>executable application</em>. Bagaimana jika kita menginginkan cara yang sama dengan kemampuan ShellExecute ? Mudah. Gunakan feature yang disediakan pada Java SE 6, yaitu <em>desktop API</em>.</p>
<p>Desktop API memudahkan kita membuat aplikasi yang dapat mengenali aplikasi default dari file yang kita buka. Bukan hanya membuka file, Desktop API juga dapat dimanfaatkan untuk membuka web browser maupun aplikasi email client default, selain bisa dimanfaatkan untuk edit maupun print file. Menarik bukan ?</p>
<p><span id="more-44"></span>Berikut adalah langkah-langkahnya (Saya menggunakan IDE Netbeans 6.0. Sesuaikan dengan IDE yang digunakan. Jika menggunakan Text Editor, ketikkan saja kode yang disertakan) :</p>
<ol>
<li>Buatlah sebuah Project, beri nama sesuai dengan fungsinya. Saya beri nama AppLaunchFile</li>
<li>Tambahkan sebuah JFrame Form. Edit Titlenya agar sesuai. Tambahkan 1 buah Label, 1 buah TextField (txtNamaFile) dan 1 buah Button (btnBukaFile).</li>
<li>Ganti caption btnBukaFile dengan nama Buka File. Ganti juga isi teks txtNamaFile dengan suatu alamat file yang sudah ada. Sebagai contoh, saya akan membuka file test.txt yang ada pada folder /home/vavai. Sesuaikan dengan nama file dan lokasi yang ada pada komputer anda.<br />
<img src="http://www.vavai.com/images/java/nb-openfile1.png" /></li>
<li>Klik kanan pada btnBukaFile, pilih <strong>Events | actionPerformed</strong> dan ketikkan kode berikut :
<pre class="brush: java; title: ; notranslate">
private void btnBukaFileActionPerformed(java.awt.event.ActionEvent evt) {
        Desktop desktop = null;

        if (Desktop.isDesktopSupported()) {
            desktop = Desktop.getDesktop();
        } else {
            // Desktop not supported handling...
            JOptionPane.showMessageDialog(null, &quot;Desktop is not supported !&quot;);
        }
        if (desktop.isSupported(Desktop.Action.OPEN)) {
            try {
                desktop.open(new File(txtNamaFile.getText()));
            } catch (Exception ex) {
            // exception handling...can be a nullpointer, an IO or an IllegalArgumentException...
                JOptionPane.showMessageDialog(null, ex);
            }
        } else {
            // Open file action not supported...
            JOptionPane.showMessageDialog(null, &quot;Open file is not supported !&quot;);
        }
}
    </pre>
</li>
<li>Lakukan import library yang diperlukan (import java.awt.Desktop; import java.io.File; import javax.swing.JOptionPane;)</li>
<li>Jalankan aplikasi.</li>
</ol>
<p>Contoh diatas dibuat sesederhana mungkin. Nama file yang akan dibuka ditulis secara manual menggunakan TextField. Pada aplikasi terapan, kita bisa memperoleh nama file menggunakan JFileChooser (Open Dialog) atau menggunakan teknik lain yang lebih fleksibel. Ujicoba juga bisa diperluas pada feature lain yang disediakan oleh Desktop API, seperti akses browser dan email client. Silakan merujuk pada halaman <a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/">Desktop API</a> untuk melihat contoh yang lain.</p>
<p>Jika digabungkan dengan tutorial sebelumnya : <a href="http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/">&#8220;Membuat file Excel &#8211; Spreadsheet&#8221;</a>, kita dapat melakukan otomatisasi buka file setelah file report spreadsheet dibuat.</p>
<p>Sebagai catatan, pada Linux, library ini membutuhkan library Gnome, karenanya saya menambahkan eksepsi untuk kesalahan jika Desktop API tidak disupport.</p>
<p>Related Entries :</p>
<ol>
<li><a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/">Using the Desktop API in Java SE 6</a></li>
<li><a href="http://java.sun.com/docs/books/tutorial/uiswing/misc/desktop.html">How to Integrated with the Desktop Class</a></li>
<li><a href="http://lorenzod8n.wordpress.com/2007/05/12/desktop-integration-in-java-6/">Desktop Integration in Java 6<br />
</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/29/tips-java-menjalankan-file-dengan-aplikasi-default/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Tips Java : Membaca dan Menulis File Properties untuk Setting Konfigurasi Aplikasi</title>
		<link>http://java.vavai.com/2008/01/25/tips-java-membaca-dan-menulis-file-properties-untuk-setting-konfigurasi-aplikasi/</link>
		<comments>http://java.vavai.com/2008/01/25/tips-java-membaca-dan-menulis-file-properties-untuk-setting-konfigurasi-aplikasi/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 20:29:38 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tips & Trick]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/25/tips-java-membaca-dan-menulis-file-properties-untuk-setting-konfigurasi-aplikasi/</guid>
		<description><![CDATA[Salah satu feature yang sering digunakan pada aplikasi terapan adalah kemampuan membaca dan menulis file konfigurasi. Sistem Windows biasa mengenal file konfigurasi dengan ekstension file .ini. Java sendiri tidak mempermasalahkan ekstension nama file. Dalam banyak contoh, kebanyakan malah menggunakan ekstension file yang cukup panjang, .properties.]]></description>
			<content:encoded><![CDATA[<p>Salah satu feature yang sering digunakan pada aplikasi terapan adalah kemampuan membaca dan menulis file konfigurasi. Sistem Windows biasa mengenal file konfigurasi dengan ekstension file .ini. Java sendiri tidak mempermasalahkan ekstension nama file. Dalam banyak contoh, kebanyakan malah menggunakan ekstension file yang cukup panjang, .properties.</p>
<p>Apa keuntungan penggunaan file konfigurasi ? Keuntungan utama adalah kemudahan dalam melakukan perubahan <em>on the fly</em>. Contohnya, jika kita menggunakan server ujicoba pada alamat tertentu dan server produksi untuk implementasinya, kita dapat dengan mudah melakukan perubahan pada file konfigurasi tanpa membuka maupun mengubah kode program. Fleksibilitas ini juga bermanfaat jika satu waktu kita harus menggunakan alamat server database yang lain.</p>
<p>Kita bisa mendefinisikan komponen dari file properties sesuai dengan keinginan. Bisa saja kita mendefinisikan nama aplikasi, setting default untuk email, setting konstanta tertentu dan lain sebagainya. Ada juga beberapa aplikasi yang bahkan menyimpan string koneksi database pada file konfigurasi. Hati-hati jika menggunakan hal seperti ini karena saya pernah melihat, password untuk koneksi ke database disimpan dalam bentuk plain text <img src='http://java.vavai.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Berikut adalah langkah-langkah membuat aplikasi untuk membaca dan menyimpan file konfigurasi :</p>
<ol>
<li>Buat 1 project Java Application pada Netbeans. Simpan dengan nama yang diinginkan.</li>
<li>Tambahkan 1 buah JFrame Form, beri nama frmKonfigurasi, setting Title dan lengkapi dengan 1 Panel, 2 Label, 2 Text Field (txtNamaAplikasi dan txtHostServer) dan 1 Button (btnSimpanKonfigurasi) seperti pada contoh berikut :<br />
<img src="http://www.vavai.com/images/nb/netbeans-file-konfigurasi1.jpg" /></li>
<li>Buat 2 buah method. Method pertama untuk Load Properties sebagai berikut :</li>
<li>
<pre class="brush: java; title: ; notranslate">
public static Properties loadProperties(String sFile) {
Properties p = new Properties();
try {
FileInputStream in = new FileInputStream(sFile);
p.load(in);
System.out.println(&quot;File konfigurasi '&quot; + sFile + &quot;' berhasil dibuka&quot;);
in.close();} catch (IOException iOException) {
JOptionPane.showMessageDialog(null, iOException);
}
return p;}
</pre>
</li>
<li>Method kedua adalah method untuk Simpan Properties. Berikut adalah kode untuk menyimpan konfigurasi.</li>
<li>
<pre class="brush: java; title: ; notranslate">public static void saveProperties(Properties p, String sFile) throws IOException{
FileOutputStream out = null;
try {
out = new FileOutputStream(sFile);
p.store(out, &quot;Ini baris komentar\nFile konfigurasi&quot;);
JOptionPane.showMessageDialog(null, &quot;File konfigurasi '&quot;+sFile+&quot;' sudah disimpan&quot;);
} catch (FileNotFoundException ex) {
Logger.getLogger(frmKonfigurasi.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, ex.getMessage());
} finally {
try {
out.close();
} catch (IOException ex) {
Logger.getLogger(frmKonfigurasi.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, ex.getMessage());
}
}}
</pre>
</li>
<li>Berikutnya adalah kode yang akan dijalankan jika button di click. Letakkan kode ini pada event ActionPerformed pada btnSimpanKonfigurasi sehingga kode program menjadi sebagai berikut :</li>
<li>
<pre class="brush: java; title: ; notranslate">private void btnSimpanKonfigurasiActionPerformed(java.awt.event.ActionEvent evt) {
try {
/**
* Menyimpan file properties ke file
* @param Properties p Object Properties
* @param String sFile String path file tujuan
*/
Properties p = new Properties();//Menetapkan key dan value draft
p.setProperty(&quot;Nama Aplikasi&quot;, txtNamaAplikasi.getText());
p.setProperty(&quot;Host Server&quot;, txtHostServer.getText());
saveProperties(p, PROP_FILE);
} catch (IOException ex) {
Logger.getLogger(frmKonfigurasi.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, ex.getMessage());
}}
</pre>
</li>
<li>Tambahkan kode untuk melakukan pengambilan data konfigurasi. Saya meletakkannya pada setelah init komponen. Untuk pemisahan kode, sebaiknya letakkan kode ini pada satu method  tersendiri</li>
<li>
<pre class="brush: java; title: ; notranslate">Properties p2 = new Properties();
p2 = loadProperties(PROP_FILE);//Mendapatkan nilai key
txtNamaAplikasi.setText(p2.getProperty(&quot;Nama Aplikasi&quot;));
txtHostServer.setText(p2.getProperty(&quot;Host Server&quot;));</pre>
</li>
<li>Jalankan form. Pada saat awal, form akan melakukan loading file konfigurasi. Jika tidak menemukannya, akan timbul pesan bahwa file konfigurasi.properties tidak ditemukan. Untuk aplikasi terapan, pesan ini bisa dinonaktifkan agar tidak membingungkan. Saya menambahkan messagebox sebagai perangkap kesalahan untuk kepentingan debug saja. Pesan ini bisa saja disampaikan pada konsole menggunakan System.out.println();<br />
<img src="http://www.vavai.com/images/nb/netbeans-file-konfigurasi2.jpg" /><img src="http://www.vavai.com/images/nb/netbeans-file-konfigurasi3.jpg" /></li>
<li>Setelah mengisi dan menyimpan konfigurasi, akan terbentuk file konfigurasi.properties yang akan diletakkan di folder project kita. Isinya kira-kira sebagai berikut :<br />
<img src="http://www.vavai.com/images/nb/netbeans-file-konfigurasi4.jpg" /></li>
</ol>
<p>Silakan lakukan modifikasi program sesuai dengan tujuan yang diinginkan.</p>
<p>Catatan : Contoh lengkap, <a href="http://www.vavai.com/uploads/java/frmKonfigurasi.form">frmKonfigurasi.form</a> dan <a href="http://www.vavai.com/uploads/java/frmKonfigurasi.java">frmKonfigurasi.java</a></p>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/25/tips-java-membaca-dan-menulis-file-properties-untuk-setting-konfigurasi-aplikasi/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Tips Java : Membuat File Excel &#8211; Spreadsheet</title>
		<link>http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/</link>
		<comments>http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 04:17:32 +0000</pubDate>
		<dc:creator>Vavai</dc:creator>
				<category><![CDATA[Tips & Trick]]></category>

		<guid isPermaLink="false">http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/</guid>
		<description><![CDATA[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.]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>Saya menggunakan IDE Netbeans, silakan sesuaikan settingnya dengan IDE yang anda gunakan.</p>
<ol>
<li>Download paket <a href="http://www.apache.org/dyn/closer.cgi/poi/dev/">Apache POI</a>, Apache POI &#8211; Java API To Access Microsoft Format Files. Saya mendownload versi 3.0.2 beta</li>
<li>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.</li>
<li>Buka Netbeans dan buatlah sebuah project</li>
<li>Tambahkan sebuah JFrame Form, setting titlenya dan buat satu button dengan nama btnCreateExcel</li>
<p><img src="http://www.vavai.com/images/java/nb-excel1.png" /></p>
<li>Klik kanan pada library project, pilih menu Properties dan pilih menu <strong>Add Jar/Folder</strong> untuk menambahkan ketiga file jar yang sudah kita tempatkan pada point 2</li>
<p><img src="http://www.vavai.com/images/java/nb-excel2.png" /></p>
<li>Ketikkan kode program untuk method actionPerformed btnCreateExcel sebagai berikut</li>
<pre class="brush: java; title: ; notranslate">

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(&quot;new sheet&quot;);

// Create a row and put some cells in it. Rows are 0 based.
for (i = 1; i &lt;= 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(&quot;X&quot; + i);
cell.setCellStyle(style);

// Orange &quot;foreground&quot;, 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(&quot;M&quot; + i);
cell.setCellStyle(style);
}
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream(&quot;workbook.xls&quot;);
wb.write(fileOut);
fileOut.close();
JOptionPane.showMessageDialog(null, &quot;File Excel sudah tercipta&quot;);
} catch (IOException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
</pre>
<li>Lakukan import untuk library yang dibutuhkan. Sekedar saran, gunakan opsi * (misalnya import org.apache.poi.hssf.usermodel.*;) untuk mempersingkat penulisan import.</li>
<li>Jalankan form</li>
<p><img src="http://www.vavai.com/images/java/nb-excel3.png" /></ol>
<p>Program diatas menunjukkan demonstrasi penempatan string pada suatu posisi, termasuk melakukan pewarnaan background. Silakan modifikasi sesuai dengan hasil yang diinginkan.</p>
]]></content:encoded>
			<wfw:commentRss>http://java.vavai.com/2008/01/25/tips-java-membuat-file-excel-spreadsheet/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
	</channel>
</rss>

