ความสามารถในสูตรที่ทรงพลังของ Microsoft Excel เป็นสิ่งจำเป็นสำหรับการคำนวณที่ซับซ้อนการวิเคราะห์ข้อมูลและการสร้างรายงานแบบไดนามิก แต่ถ้าคุณสามารถทำให้การดำเนินงานสูตรเหล่านี้เป็นไปโดยอัตโนมัติโดยใช้ไลบรารี Java นั่นคือสิ่งที่ Apache Poi เข้ามาเล่น ในโพสต์บล็อกนี้เราจะแสดงวิธีใช้ Apache Poi Library เพื่อคำนวณสูตร Excel จากภายในแอปพลิเคชัน Java ของคุณและบันทึก Workbook เป็น ไฟล์ XLSX

การทำความเข้าใจสูตรและการคำนวณ

สูตรเป็นหัวใจสำคัญของฟังก์ชั่นของ Excel พวกเขาอนุญาตให้คุณดำเนินการทางคณิตศาสตร์จัดการข้อมูลและสร้างความสัมพันธ์ระหว่างเซลล์ที่แตกต่างกัน Apache Poi ช่วยให้นักพัฒนา Java สร้างและจัดการสูตรเหล่านี้โดยทางโปรแกรมทำให้ระบบอัตโนมัติและการปรับแต่ง

การตั้งค่าโครงการของคุณ

ก่อนที่เราจะดำน้ำในสูตรเฉพาะให้ตั้งค่าโครงการของเราให้ทำงานกับ Apache Poi คุณจะต้องรวมห้องสมุด POI ที่เหมาะสมในโครงการ Java ของคุณ คุณสามารถดาวน์โหลดไลบรารีจากเว็บไซต์ Apache Poi หรือเพิ่มผ่านเครื่องมือจัดการการพึ่งพาเช่น Maven หรือ Gradle ตรวจสอบภาพรวม Apache Poi API ของเรา บทความสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าสภาพแวดล้อมการพัฒนาสำหรับโครงการของคุณ

<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>

การสร้างสูตรพื้นฐาน

เริ่มต้นด้วยตัวอย่างง่ายๆ ลองนึกภาพคุณมีแผ่นงาน Excel ที่มีสองคอลัมน์ที่มีตัวเลข คุณต้องการคำนวณผลรวมของตัวเลขเหล่านี้ในคอลัมน์ที่สาม นี่คือวิธีที่คุณสามารถทำได้โดยใช้ Apache Poi:

นำเข้าคลาสที่จำเป็น

เริ่มต้นด้วยการนำเข้าคลาสที่ต้องการจาก Apache Poi Library เช่นเวิร์กบุ๊กแผ่นงานและแถว

เข้าถึงเซลล์ที่ต้องการ

ใช้เมธอด getCell () เพื่อเข้าถึงเซลล์ที่มีตัวเลขที่คุณต้องการรวม

สร้างสูตร

ใช้วิธี CreateFormula () เพื่อสร้างสูตร ในกรณีนี้มันจะเป็นเช่น Sum (A2: B2)

ตั้งค่าสูตรเป็นเซลล์เป้าหมาย

กำหนดสูตรให้กับเซลล์ที่คุณต้องการให้ผลลัพธ์ปรากฏขึ้นโดยใช้เมธอด setcellformula ()

ประเมินสูตร

หลังจากตั้งค่าสูตรให้ใช้ EvaluateFormulacell () วิธีการคำนวณและเติมผลลัพธ์

สูตร Excel โดยใช้ Apache Poi Java Library

มาดูตัวอย่างโค้ดต่อไปนี้ซึ่งใช้:

  • เพิ่มสูตร เพื่อเพิ่มสองค่าในเซลล์
  • Power สูตรในการคำนวณกำลังของค่าในเซลล์
  • สูตรสูงสุด เพื่อรับค่าสูงสุดของเซลล์
  • ความจริง สูตรในการคำนวณแฟคตอเรียลของค่าในเซลล์
  • สูตร sqrt เพื่อคำนวณสแควร์รูทของค่าในเซลล์ ตัวอย่างรหัสต่อไปนี้แสดงการใช้สูตร Excel เหล่านี้จากภายในแอปพลิเคชัน Java ของคุณ
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");

บทสรุป

Apache Poi ปลดล็อคศักยภาพในการทำให้เป็นแบบอัตโนมัติและปรับแต่งสูตรและการคำนวณ Excel โดยอัตโนมัติผ่านรหัส Java ไม่ว่าคุณจะกำลังสร้างรายงานทางการเงินเครื่องมือวิเคราะห์ข้อมูลหรือแอปพลิเคชันใด ๆ ที่เกี่ยวข้องกับการจัดการ Excel ความสามารถในการกำหนดสูตรของ Apache Poi นั้นเป็นส่วนเสริมที่ทรงพลังในชุดเครื่องมือของคุณ ด้วยการทำความเข้าใจวิธีการสร้างประเมินและจัดการสูตรโดยใช้ Apache Poi คุณสามารถปรับปรุงเวิร์กโฟลว์ของคุณเพิ่มความแม่นยำและประหยัดเวลาที่มีค่า