Мощные возможности формулы Microsoft Excel необходимы для выполнения сложных вычислений, анализа данных и создания динамических отчетов. Но что, если бы вы могли автоматизировать эти формальные операции, используя библиотеку Java? Вот где Apache Poi вступает в игру. В этом сообщении мы покажем, как использовать библиотеку Apache POI для расчета формул Excel из вашего приложения Java и сохранить рабочую книгу в качестве XLSX File.

Понимание формул и расчеты {.wp-block heading}

Формулы лежат в основе функциональности Excel. Они позволяют вам выполнять математические операции, манипулировать данными и создавать отношения между различными ячейками. Apache Poi дает Java разработчиков создавать и манипулировать этими формулами программно, обеспечивая автоматизацию и настройку.

Настройка вашего проекта {.wp-block heading}

Прежде чем мы погрузимся в специфику формул, давайте настроем наш проект для работы с 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>

Создание основных формул {.wp-block heading}

Давайте начнем с простого примера. Представьте, что у вас есть лист Excel с двумя столбцами, содержащими числа. Вы хотите рассчитать сумму этих чисел в третьем столбце. Вот как вы можете достичь этого, используя Apache Poi:

Импортировать необходимые классы {.wp-block heading}

Начните с импорта требуемых классов из библиотеки Apache POI, таких как рабочая тетрадь, лист и ряд.

Доступ к желаемым ячеям

Используйте метод getCell () для доступа к ячейкам, содержащим числа, которые вы хотите суммировать.

Создать формулу {.wp-block heading}

Используйте метод CreateFormula () для генерации формулы. В этом случае это будет что -то вроде суммы (A2: B2).

Установите формулу в целевую ячейку {.wp-block heading}

Назначьте формулу в ячейку, где вы хотите, чтобы результат появился с использованием метода setcellformula ().

Оценить формулу {.wp-block heading}

После установки формулы используйте метод evaluateformulacell () для расчета и заполнения результата.

excel формулы с использованием библиотеки Apache Poi Java {.wp-block heading}

Давайте посмотрим на следующий образец кода, который использует:

  • добавить формулу, чтобы добавить два значения в ячейку
  • Питание формула для расчета мощности значения в ячейке
  • Макс формула, чтобы получить максимальное значение ячейки
  • Факт формула для расчета фактория значения в ячейке
  • 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");

Заключение {.wp-block heading}

Apache Poi разблокирует потенциал для автоматизации и настройки формул Excel и расчеты через код Java. Независимо от того, создаете ли вы финансовые отчеты, инструменты анализа данных или любое приложение, которое включает в себя манипуляции Excel, возможности формулы Apache Poi являются мощным дополнением к вашему инструментарию. Понимая, как создавать, оценивать и управлять формулами, используя Apache POI, вы можете оптимизировать свои рабочие процессы, повысить точность и сэкономить ценное время.