Apache POI - Formül
Bu bölüm, Java programlamasını kullanarak hücrelere farklı formüller uygulama sürecini ele alır. Excel uygulamasının temel amacı, üzerine formüller uygulayarak sayısal verileri korumaktır.
Bir formülde, Excel sayfasındaki değerlerin dinamik değerlerini veya konumlarını iletiriz. Bu formülü çalıştırdığınızda istediğiniz sonucu elde edersiniz. Aşağıdaki tablo, Excel'de sık kullanılan birkaç temel formülü listeler.
Operasyon | Sözdizimi |
---|---|
Birden çok numara eklemek | = TOPLA (Loc1: Locn) or = TOPLA (n1, n2,) |
Miktar | = COUNT (Loc1: Locn) or = COUNT (n1, n2,) |
İki sayının gücü | = GÜÇ (Loc1, Loc2) or = GÜÇ (sayı, kuvvet) |
Maksimum birden çok numara | = MAKS (Loc1: Locn) or = MAKS (n1, n2,) |
Ürün | = ÜRÜN (Loc1: Locn) or = ÇARPIM (n1, n2,) |
Faktöriyel | = GERÇEK (Locn) or = GERÇEK (sayı) |
Mutlak sayı | = ABS (Locn) or = ABS (sayı) |
Bugünün tarihi | = BUGÜN () |
Küçük harfe dönüştürür | = DÜŞÜK (Locn) or = DÜŞÜK (metin) |
Kare kök | = KAREKÖK (locn) or = KAREKÖK (sayı) |
Aşağıdaki kod, bir hücreye formül eklemek ve onu yürütmek için kullanılır.
import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class Formula {
public static void main(String[] args)throws Exception {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet spreadsheet = workbook.createSheet("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.setCellType(XSSFCell.CELL_TYPE_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.setCellType(XSSFCell.CELL_TYPE_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.setCellType(XSSFCell.CELL_TYPE_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.setCellType(XSSFCell.CELL_TYPE_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.setCellType(XSSFCell.CELL_TYPE_FORMULA);
cell.setCellFormula("SQRT(C5)");
cell = row.createCell(3);
cell.setCellValue("SQRT(C5)");
workbook.getCreationHelper().createFormulaEvaluator().evaluateAll();
FileOutputStream out = new FileOutputStream(new File("formula.xlsx"));
workbook.write(out);
out.close();
System.out.println("fromula.xlsx written successfully");
}
}
Yukarıdaki kodu farklı kaydedin Formula.java ve sonra komut isteminden aşağıdaki gibi derleyin ve çalıştırın.
$javac Formula.java
$java Formula
Adlı bir Excel dosyası oluşturacaktır. formula.xlsx mevcut dizininizde ve komut isteminde aşağıdaki çıktıyı görüntüleyin.
fromula.xlsx written successfully
formula.xlsx dosya aşağıdaki gibi görünür.