Microsoft Excel’in güçlü formül yetenekleri, karmaşık hesaplamalar yapmak, veri analizi ve dinamik raporlar oluşturmak için gereklidir. Peki ya bu formül işlemlerini bir Java kütüphanesi kullanarak otomatikleştirebilseydiniz? Apache Poi burada devreye giriyor. Bu blog yazısında, Java uygulamanızdaki Excel formüllerini hesaplamak ve çalışma kitabını XLSX dosyası olarak kaydetmek için Apache Poi Kütüphanesi’ni nasıl kullanacağımızı göstereceğiz.

Formülleri ve Hesaplamaları Anlama

Formüller Excel’in işlevselliğinin merkezindedir. Matematiksel operasyonlar gerçekleştirmenize, verileri manipüle etmenize ve farklı hücreler arasında ilişkiler yaratmanıza izin verir. Apache Poi, Java geliştiricilerinin bu formülleri programlı olarak üretmeleri ve manipüle etmelerini sağlayarak otomasyon ve özelleştirmeyi sağlıyor.

Projenizi ayarlayın

Formül özelliklerine dalmadan önce, projemizi Apache Poi ile çalışmak için kuralım. Java projenize uygun POI kütüphanelerini eklemeniz gerekir. Kütüphaneleri Apache Poi web sitesinden indirebilir veya Maven veya Gradle gibi bir bağımlılık yönetim aracı aracılığıyla ekleyebilirsiniz. Projenizin geliştirme ortamını oluşturma hakkında daha fazla bilgi için Apache Poi API Genel Bakış makalemizi kontrol edin.

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.0.1</version>
</dependency>

Temel Formüller Oluşturma

Basit bir örnekle başlayalım. Sayılar içeren iki sütuna sahip bir Excel sayfanız olduğunu düşünün. Bu sayıların toplamını üçüncü bir sütunda hesaplamak istiyorsunuz. Bunu Apache Poi’yi kullanarak nasıl başarabileceğiniz aşağıda açıklanmıştır:

Gerekli sınıfları içe aktarın

Çalışma kitabı, sayfa ve satır gibi Apache Poi kütüphanesinden gerekli sınıfları içe aktararak başlayın.

İstenen hücrelere erişim {.wp-blok başlık}

Toplam yapmak istediğiniz sayıları içeren hücrelere erişmek için getCell () yöntemini kullanın.

bir formül oluştur

Formülü oluşturmak için CreateFormula () yöntemini kullanın. Bu durumda, toplam (A2: B2) gibi bir şey olacaktır.

Formülü hedef hücreye ayarlayın {.wp-blok başlık}

Formülü, SetCellFormula () yöntemini kullanarak sonucun görünmesini istediğiniz hücreye atayın.

{.wp-block-heading} formülünü değerlendirin

Formülü ayarladıktan sonra, sonucu hesaplamak ve doldurmak için DeğerlendirmeFormulacell () yöntemini kullanın.

Apache Poi Java Kütüphanesi Kullanarak Excel Formülleri

Aşağıdaki kod örneğine bir göz atalım:

  • Bir hücreye iki değer eklemek için formül ekle
  • Güç Formül Bir hücredeki bir değerin gücünü hesaplamak için
  • Maks Formül Bir hücrenin maksimum değerini elde etmek için
  • Gerçek Bir hücredeki bir değerin faktöriyelini hesaplamak için formül
  • SQRT Formül Bir hücredeki bir değerin kare kökünü hesaplamak için Aşağıdaki kod örneği, Java uygulamanızın içinden bu Excel formüllerinin kullanılmasını göstermektedir.
XSSFWorkbook wb = new XSSFWorkbook(); 
XSSFSheet spreadsheet = wb("formula");
XSSFRow row = spreadsheet.createRow(1);
XSSFCell cell = row.createCell(1);
cell.setCellValue("A = ");
cell = row.createCell(2);
cell.setCellValue(2);
row = spreadsheet.createRow(2);
cell = row.createCell(1);
cell.setCellValue("B = ");
cell = row.createCell(2);
cell.setCellValue(4);
row = spreadsheet.createRow(3);
cell = row.createCell(1);
cell.setCellValue("Total = ");
cell = row.createCell(2);
// Create SUM formula
cell.setCellFormula("SUM(C2:C3)");
cell = row.createCell(3);
cell.setCellValue("SUM(C2:C3)");
row = spreadsheet.createRow(4);
cell = row.createCell(1);
cell.setCellValue("POWER =");
cell=row.createCell(2);
// Create POWER formula
cell.setCellFormula("POWER(C2,C3)");
cell = row.createCell(3);
cell.setCellValue("POWER(C2,C3)");
row = spreadsheet.createRow(5);
cell = row.createCell(1);
cell.setCellValue("MAX = ");
cell = row.createCell(2);
// Create MAX formula
cell.setCellFormula("MAX(C2,C3)");
cell = row.createCell(3);
cell.setCellValue("MAX(C2,C3)");
row = spreadsheet.createRow(6);
cell = row.createCell(1);
cell.setCellValue("FACT = ");
cell = row.createCell(2);
// Create FACT formula
cell.setCellFormula("FACT(C3)");
cell = row.createCell(3);
cell.setCellValue("FACT(C3)");
row = spreadsheet.createRow(7);
cell = row.createCell(1);
cell.setCellValue("SQRT = ");
cell = row.createCell(2);
// Create SQRT formula
cell.setCellFormula("SQRT(C5)");
cell = row.createCell(3);
cell.setCellValue("SQRT(C5)");
wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
FileOutputStream out = new FileOutputStream("formula.xlsx");
wb.write(out);
out.close();
System.out.println("fromula.xlsx written successfully");

Sonuç

Apache Poi, Java kodu aracılığıyla Excel formüllerini ve hesaplamalarını otomatikleştirme ve özelleştirme potansiyelinin kilidini açar. İster finansal raporlar, veri analiz araçları veya Excel manipülasyonunu içeren herhangi bir uygulama olsun, Apache Poi’nin formül özellikleri araç setinize güçlü bir ektir. Apache Poi kullanarak formüllerin nasıl oluşturulacağını, değerlendirileceğini ve yönetileceğini anlayarak, iş akışlarınızı kolaylaştırabilir, doğruluğu artırabilir ve değerli zamandan tasarruf edebilirsiniz.