excelMerhaba arkadaşlar JTable ile oluşturduğumuz bir tablomuzu nasıl Microsoft Excel dosyası olarak kaydedeceğimizi göstereceğim. Ama Öncelikle  kullandığınız compiler’e “JexcelAPI” kütüphanesini yüklemeniz gerekiyor.Kütüphanenin nasıl yükleneceğini bilmiyorsanız BURAYA tıklayarak o yazımızdan öğrenebilirsiniz.

Şimdi sıvazlıyalım kolları

İlk Önce “ExcelOlustur” adında yeni bir class açıyoruz. Ve içine aşşağıdaki kodları yapıştırıyoruz. Bu class içine yollayacağımız tablonun özelliklerine göster bir excel dosyası yaratıp Bizim JTable’daki satır ve sutunlarımızı oraya yerleştiriyor.


/*
 Yazan:Hasan Ünlü KILINÇ ----- www.hasanunlukilinc.com
 İletişim: hasan@armabilgisayar.net
 vispotasarim@gmail.com
 naturon@hotmail.co.uk
 */
package org.Hasanunlukilinc.ERehber;
import java.io.File;

import javax.swing.*;

import javax.swing.table.*;

import jxl.*;
import jxl.write.*;

public class ExcelOlustur
{

void fillData(JTable table, File file)
 {

try
 {

WritableWorkbook calismakitabi1 = Workbook.createWorkbook(file);
 WritableSheet yaprak1 = calismakitabi1.createSheet("İlk Yaprak", 0);
 TableModel model = table.getModel();

for (int i = 0; i < model.getColumnCount(); i++)
 {
 Label column = new Label(i, 0, model.getColumnName(i));
 yaprak1.addCell(column);
 }
 int j = 0;
 for (int i = 0; i < model.getRowCount(); i++)
 {
 for (j = 0; j < model.getColumnCount(); j++)
 {
 Label row = new Label(j, i + 1, model.getValueAt(i, j).toString());
 yaprak1.addCell(row);
 }
 }
 calismakitabi1.write();
 calismakitabi1.close();
 }
 catch (Exception ex)
 {
 ex.printStackTrace();
 }
 }

}

Daha Sonra butonumuzun altına bu kodları gömüyoruz. Ancak tablo adını ve kayıt yolunu kendinize göre düzenleyiniz.


try
 {
 ExcelOlustur excelbas = new ExcelOlustur(); // Class'în bir nesnesini oluşturduk
 excelbas.fillData(MyJTable.standartTablo, new File("C:\\tablo.xls")); // hangi tabloyu basacağımızı ve yolu belirledik.
 JOptionPane.showMessageDialog(null, "Dosya " + "'C: \\ tablo.xls' adresine başarıyla kaydedildi",//Başarılı Mesajı
 "Tablo Oluşturuldu", JOptionPane.INFORMATION_MESSAGE);
 }
 catch (Exception ex)
 {
 ex.printStackTrace();
 }