قابلیت های قدرتمند فرمول مایکروسافت اکسل برای انجام محاسبات پیچیده ، تجزیه و تحلیل داده ها و ایجاد گزارش های پویا ضروری است. اما اگر بتوانید با استفاده از یک کتابخانه جاوا ، این عملیات فرمول را خودکار کنید؟ این جایی است که Apache Poi بازی می کند. در این پست وبلاگ ، ما نحوه استفاده از کتابخانه Apache POI را برای محاسبه فرمول های اکسل از درون برنامه جاوا خود نشان خواهیم داد و کتاب کار را به عنوان XLSX File ذخیره می کنیم.

درک فرمول ها و محاسبات

فرمول ها در قلب عملکرد اکسل قرار دارند. آنها به شما امکان می دهند عملیات ریاضی را انجام دهید ، داده ها را دستکاری کرده و بین سلول های مختلف روابط ایجاد کنید. Apache POI به توسعه دهندگان جاوا این امکان را می دهد تا این فرمول ها را به صورت برنامه ای تولید و دستکاری کنند و امکان اتوماسیون و سفارشی سازی را فراهم کنند.

تنظیم پروژه خود

قبل از اینکه به مشخصات فرمول ها شیرجه بزنیم ، بیایید پروژه خود را برای همکاری با Apache Poi تنظیم کنیم. شما باید کتابخانه های مناسب POI را در پروژه جاوا خود درج کنید. می توانید کتابخانه ها را از وب سایت 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>

ایجاد فرمول های اساسی

بیایید با یک مثال ساده شروع کنیم. تصور کنید که یک برگه اکسل با دو ستون حاوی اعداد دارید. شما می خواهید مبلغ این اعداد را در ستون سوم محاسبه کنید. در اینجا چگونه می توانید با استفاده از Apache POI به این هدف برسید:

کلاسهای لازم را وارد کنید.

با وارد کردن کلاسهای مورد نیاز از کتابخانه Apache POI ، مانند کتاب کار ، ورق و ردیف شروع کنید.

به سلولهای مورد نظر دسترسی پیدا کنید.

برای دسترسی به سلولهای حاوی اعدادی که می خواهید جمع کنید از روش GetCell () استفاده کنید.

یک فرمول ایجاد کنید.

برای تولید فرمول از روش CreateFormula () استفاده کنید. در این حالت ، چیزی شبیه به جمع (A2: B2) خواهد بود.

فرمول را روی سلول هدف تنظیم کنید.

فرمول را به سلول اختصاص دهید که می خواهید نتیجه با استفاده از روش SetCellformula () ظاهر شود.

فرمول {.wp-block-head} را ارزیابی کنید

پس از تنظیم فرمول ، برای محاسبه و جمع آوری نتیجه ، از روش thatureformulacell () استفاده کنید.

فرمول های اکسل با استفاده از کتابخانه Apache Poi Java

بیایید نگاهی به نمونه کد زیر که از آن استفاده می کند ، نگاهی بیندازیم: ** فرمول**اضافه کنید تا دو مقدار در یک سلول اضافه کنید

  • قدرت فرمول برای محاسبه قدرت یک مقدار در یک سلول
  • حداکثر فرمول برای به دست آوردن حداکثر مقدار یک سلول
  • واقعیت فرمول برای محاسبه فاکتوریل یک مقدار در یک سلول
  • sqrt فرمول برای محاسبه ریشه مربع یک مقدار در یک سلول نمونه کد زیر استفاده از این فرمول های اکسل را از طریق برنامه جاوا شما نشان می دهد.
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 پتانسیل خودکار سازی و سفارشی سازی فرمولهای اکسل و محاسبات را از طریق کد جاوا باز می کند. این که آیا شما در حال ایجاد گزارش های مالی ، ابزارهای تجزیه و تحلیل داده ها یا هر برنامه کاربردی است که شامل دستکاری اکسل است ، قابلیت های فرمول Apache Poi علاوه بر قدرتمند در ابزار شما است. با درک نحوه ایجاد ، ارزیابی و مدیریت فرمول ها با استفاده از Apache POI ، می توانید گردش کار خود را ساده تر کنید ، دقت را افزایش داده و در وقت ارزشمند صرفه جویی کنید.