Önceki makalemizde, Microsoft dosya formatlarıyla çalışmak için açık kaynaklı bir Java API’si olan Apache Poi’nin ayrıntılarını inceledik. Bu makalede, Excel çalışma kitaplarıyla çalışmak için Apache Poi bileşeninden geçeceğiz. Ayrıca bir excel dosyası oluşturmak ve bu Java kütüphanesini kullanarak çarşaf eklemek için Apache Poi’nin nasıl kullanılacağını da göstereceğiz.

Excel Dosya Formatlarına Erişim İçin Apache Poi Java API’leri

Apache Poi Java API, iki farklı Excel dosya formatıyla çalışmak için ayrı bileşenler sağlar. Bunlar:

  1. HSSF (Korkunç Elektronik Tablo Formatı)-Excel ile Çalışmak İçin 97-2003 Dosya Formatları
  2. XSSF (XML E -Tablo Formatı) - Excel 2007 ve sonraki dosya biçimleriyle çalışmak için Özellikle, hssf XLS dosyalarını okumanıza izin verirken xssfXLS ve XLSX dosyalarını okumanızı sağlar. Her iki API de, temel dosya formatlarının ayrıntılarına girmeden Java uygulamanızdaki Excel dosyalarını oluşturmanıza, okumanıza ve manipüle etmenize olanak tanır.

Java’da excel xlsx dosyası nasıl oluşturulur? {.wp-blok başlığı}

Bu örnekte, Java uygulamamızda XLSX dosyaları oluşturmak için Apache Poi XSSF kullanmanın ayrıntılarını ele alacağız. Bu aşamada, Java uygulamanızda Apache Poi API’sını zaten yüklediğinizi ve yapılandırdığınızı varsayıyoruz. Bunu yapmadıysanız, Java için Apache Poi’yi yükleyebilir ‘i ziyaret edebilir ve adımları izleyebilirsiniz.

Apache Poi kullanarak Excel Çalışma Kitabı Oluşturma Adımları

Java için Apache Poi API kullanan bir Excel çalışma kitabı oluşturmak basit ve kolaydır ve aşağıdaki adımlar kullanılarak elde edilebilir.

  1. xssfworkbook sınıfını kullanarak bir çalışma kitabı oluşturun
  2. Çıktı akışını kapatın. Apache Poi kullanarak Excel Çalışma Kitabı Oluşturmak için Java Kodu Aşağıdaki gibidir.
XSSFWorkbook wb = new XSSFWorkbook();
...
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}

Yukarıdaki kod, XLSX dosya biçiminde bir Excel çalışma kitabı oluşturacaktır. Ancak, çalışma kitabını bu aşamada açacaksanız, aşağıdaki hatayı alacaksınız.

Bunun nedeni, herhangi bir çalışma sayfası olmadan Apache Poi kullanan bir Excel çalışma kitabının bu hatayı vermesidir. Bu sorunu çözmek için oluşturulan Excel dosyasına en az bir çalışma sayfası eklememiz gerekir.

Java’da Apache Poi ile Excel Çalışma Kitabı’na Çalışma Sayfası Ekle

Bu bizi düzgün çalışabilmesi için çalışma kitabına bir çalışma sayfası eklememiz gereken adıma getiriyor. Bu, aşağıdaki kod örneğinde gösterildiği gibi çalışma kitabına eklenen XSSFSheet nesnesi kullanılarak elde edilebilir.

XSSFWorkbook wb1 = new XSSFWorkbook();
try
{
	XSSFSheet sheet1 = wb1.createSheet("Ripon");
	FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
	wb1.write(fileOut);    
	fileOut.close();
}
catch(Exception ex)
{
	System.out.println("XLSX Generated Error...");
}

Complete XSSFWorkBook Örneği

Artık Java için Apache Poi API ile nasıl bir çalışma kitabı oluşturacağımızı ve bir sayfa ekleyeceğimizi gördüğümüze göre, oluşturulan çalışma sayfasına nasıl satır ve hücreler ekleyeceğimize bir göz atalım. XSSFSheet sınıfı, sayfaya bir satır eklemenizi sağlayan yöntem creatow’a sahiptir. Bu, Excel çalışma sayfasındaki bir satırı temsil eden satır sınıfının bir nesnesini döndürür. Çalışma sayfasında hücreler oluşturmak için, XSSFCELL sınıfının bir nesnesini döndüren CreateCell yöntemini kullanmalıyız. Hücrenin değerini ayarlamak için XSSFCell’in SetCellValue yöntemi kullanılır. XSSFWorkbook kullanarak bir çalışma kitabı oluşturmanın, XSSFSheet kullanarak bir sayfa eklemenin ve ona XSSFrow eklemenin tam bir örneği aşağıda gösterilmiştir.

// Blank workbook
        XSSFWorkbook workbook = new XSSFWorkbook();
        // Creating a blank Excel sheet
        XSSFSheet sheet = workbook.createSheet("student Details");
        // Creating an empty TreeMap of string and Object][] type
        Map<String, Object[]> data = new TreeMap<String, Object[]>();
        // Writing data to Object[]
        // using put() method
        data.put("1", new Object[] { "ID", "CITY", "STATE" });
        data.put("2", new Object[] { 1, "Clanton", "Alabama" });
        data.put("3", new Object[] { 2, "Cordova", "Alaska" });
        data.put("4", new Object[] { 3, "Clifton", "Arizona" });
        data.put("5", new Object[] { 4, "Arcadia", "California" });
  
	// Iterating over data and writing it to sheet
	Set<String> keyset = data.keySet(); 
        int rownum = 0;
        for (String key : keyset) { 
            // Creating a new row in the sheet
            XSSFRow row = sheet.createRow(rownum++); 
            Object[] objArr = data.get(key); 
            int cellnum = 0; 
            for (Object obj : objArr) { 
                // This line creates a cell in the next column of that row
                XSSFCell cell = row.createCell(cellnum++); 
                if (obj instanceof String)
                    cell.setCellValue((String)obj); 
                else if (obj instanceof Integer)
                    cell.setCellValue((Integer)obj);
            }
        }     
        // Writing the workbook
        FileOutputStream out = new FileOutputStream("gfgcontribute.xlsx");
        workbook.write(out); 
        // Closing file output connections
        out.close();

Sonuç

Bu blog makalesinde, Java için Apache Poi API kullanarak bir Excel çalışma kitabının nasıl oluşturulacağını gösterdik. XSSFWorkbook’u bir XLSX çalışma kitabı oluşturmak için kullandık, ona çalışma sayfaları ekledik, çalışma sayfasına satırlar ekledik ve çalışma sayfasındaki hücrelere doldurulmuş veriler. Java için Apache Poi kullanarak Excel Çalışma Kitapları ile çalışma örneği için bizi izlemeye devam edin.