Apache POI - สูตร
บทนี้จะนำคุณไปสู่ขั้นตอนการใช้สูตรต่างๆบนเซลล์โดยใช้การเขียนโปรแกรม Java วัตถุประสงค์พื้นฐานของแอปพลิเคชัน Excel คือการรักษาข้อมูลที่เป็นตัวเลขโดยใช้สูตรกับมัน
ในสูตรเราส่งผ่านค่าไดนามิกหรือตำแหน่งของค่าในแผ่นงาน Excel เมื่อดำเนินการตามสูตรนี้คุณจะได้ผลลัพธ์ที่ต้องการ ตารางต่อไปนี้แสดงสูตรพื้นฐานสองสามสูตรที่ใช้บ่อยใน Excel
การดำเนินการ | ไวยากรณ์ |
---|---|
การเพิ่มหมายเลขหลาย ๆ | = SUM (Loc1: Locn) or = SUM (n1, n2,) |
นับ | = COUNT (Loc1: Locn) or = COUNT (n1, n2,) |
พลังของตัวเลขสองตัว | = พลังงาน (Loc1, Loc2) or = POWER (ตัวเลขกำลัง) |
จำนวนสูงสุดของตัวเลข | = สูงสุด (Loc1: Locn) or = สูงสุด (n1, n2,) |
สินค้า | = ผลิตภัณฑ์ (Loc1: Locn) or = ผลิตภัณฑ์ (n1, n2,) |
แฟกทอเรียล | = FACT (Locn) or = FACT (ตัวเลข) |
จำนวนสัมบูรณ์ | = ABS (Locn) or = ABS (ตัวเลข) |
วันนี้วันที่ | = วันนี้ () |
แปลงตัวพิมพ์เล็ก | = ล่าง (Locn) or = LOWER (ข้อความ) |
รากที่สอง | = SQRT (locn) or = SQRT (ตัวเลข) |
รหัสต่อไปนี้ใช้เพื่อเพิ่มสูตรลงในเซลล์และดำเนินการ
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");
}
}
บันทึกรหัสด้านบนเป็น Formula.java จากนั้นรวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้
$javac Formula.java
$java Formula
มันจะสร้างไฟล์ Excel ชื่อ formula.xlsx ในไดเร็กทอรีปัจจุบันของคุณและแสดงผลลัพธ์ต่อไปนี้บนพรอมต์คำสั่ง
fromula.xlsx written successfully
formula.xlsx ไฟล์มีลักษณะดังนี้