Java İle Excel İçindeki Verileri Okumak

14 September 2009

Geçen yaz yaptığım staj süresince üzerinde çalıştığım projede, varolan veritabanı için çeşitli işlevselliklere sahip bir arayüz tasarlamıştım. Fakat şirketteki veritabanı birden çok sayfa ve verilerden oluşmuş bir excel dosyasıydı. Bu zamana kadar ihtiyaç duydukları verileri SQL Server gibi veritabanı kurmak yerine, en kolay yol olarak excel ile saklamayı tercih etmişlerdi. Ve benim de Java ile hazırladığım arayüz programının bu excel dosyasına ulaşması ve içindeki verileri okuması gerekiyordu. Yapmış olduğum araştırma sonuncunda, excel dosyalarına ulaşmamı sağlayan bir "external library" olduğunu keşfettim ve kolay bir şekilde excel içindeki verilere ulaşabildim.

1. Öncelikle poi-3.2-FINAL-20081019.zip (1,21 mb) dosyasını indiriyoruz.
2. Unzip yapıp içindeki poi-3.2-FINAL-20081019.jar dosyamızı projemize eklemek üzere proje klasörümüzün içine atıyoruz.
3. Java projelerinde genellikle Eclipse editörü kullandığınızı düşünerek, Eclipse'ı açıyoruz. Proje klasörüne sağ tıklayıp Build Path/Configure Build Path yolunu takip ediyoruz.
4. Libraries sekmesine gelerek Add External JARs butonuna tıklıyoruz. İndirip proje klasörümüze yapıştırdığımız kütüphane dosyasını seçip OK diyoruz.
5. import org.apache.poi.*; ile kütüphaneyi tanıtıyoruz.

Java projemizden excel dosyalarına ulaşmak için gerekli import işlemlerini tamamlamış olduk. Artık aşağıda bir kaç örnek ile anlatacağım üzere, gerekli kodlamalarınızı yapıp excel dosyanız içindeki bütün verilere ulaşabilirsiniz.

Yeni bir excel dosyası açmak:
FileInputStream myInput = new
FileInputStream("filename.xls");
POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);

Yeni bir sayfa oluşturmak:
HSSFSheet mySheet = myWorkBook.createSheet("new sheet");

Yeni bir hücre oluşturmak:
HSSFRow myRow = mySheet.createRow(0);
HSSFCell myCell = myRow.createRow(0);

Hücrenin içindeki veriyi değiştirmek:
myCell.setCellValue("hücrenin içine yazmak istediğiniz string");

Excel dosyasını kaydetmek:
FileOutputStream myOutput = new FileOutputStream("filename.xls");
myWorkBook.write(myOutput);
myInput.close();
myOutput.close();

Konu ile alakalı çeşitli örneklere buradan ulaşabilirsiniz.

Bu yazıyı başka sitelerde paylaş

Kategori: Java | (2) Comment >>



Comments

Filiz diyor ki:
9 July 2010, 09:31

Bu kodlar Excel 2007ye uygulanabiliyor mu?

Haktan Işılak diyor ki:
13 July 2010, 22:44

evet uygulanabilir

Add comment




biuquote
  • Comment
  • Preview
Loading