تعد إمكانات الصيغة القوية لـ Microsoft Excel ضرورية لإجراء الحسابات المعقدة وتحليل البيانات وإنشاء تقارير ديناميكية. ولكن ماذا لو كنت تستطيع أتمتة هذه العمليات الصيغية باستخدام مكتبة جافا؟ هذا هو المكان الذي يلعب فيه Apache POI. في منشور المدونة هذا ، سنعرض كيفية استخدام مكتبة Apache POI لحساب صيغ Excel من داخل تطبيق Java الخاص بك وحفظ المصنف باسم XLSX File.

فهم الصيغ والحسابات

الصيغ في قلب وظيفة Excel. إنها تسمح لك بإجراء العمليات الرياضية ، ومعالجة البيانات ، وإنشاء علاقات بين الخلايا المختلفة. Apache POI يمكّن مطوري Java من إنشاء هذه الصيغ والتعامل معها برمجيًا ، مما يتيح الأتمتة والتخصيص.

إعداد مشروعك

قبل الغوص في تفاصيل الصيغ ، دعنا ننشئ مشروعنا للعمل مع Apache POI. ستحتاج إلى تضمين مكتبات POI المناسبة في مشروع Java الخاص بك. يمكنك تنزيل المكتبات من موقع Apache POI أو إضافتها من خلال أداة إدارة التبعية مثل Maven أو Gradle. تحقق من مقالة Apache POI API 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 ، مثل المصنف والصفائح والصف.

الوصول إلى الخلايا المطلوبة

استخدم طريقة getCell () للوصول إلى الخلايا التي تحتوي على الأرقام التي تريد اختلافها.

قم بإنشاء صيغة

الاستفادة من طريقة createFormula () لإنشاء الصيغة. في هذه الحالة ، سيكون مثل SUM (A2: B2).

اضبط الصيغة على الخلية الهدف

قم بتعيين الصيغة للخلية حيث تريد أن تظهر النتيجة باستخدام طريقة setCellFormula ().

تقييم الصيغة

بعد إعداد الصيغة ، استخدم طريقة AvaluateFormulacell () لحساب النتيجة وملءها.

Excel Formulas باستخدام مكتبة Apache Poi Java

دعونا نلقي نظرة على عينة الكود التالية التي تستخدم:

  • إضافة صيغة لإضافة قيمتين في خلية
  • الطاقة صيغة لحساب قوة القيمة في خلية
  • max صيغة للحصول على أقصى قيمة للخلية
  • FASE صيغة لحساب عازف القيمة في خلية
  • صيغة 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 ، يمكنك تبسيط سير العمل الخاص بك ، وتعزيز الدقة ، وتوفير الوقت الثمين.