Эта глава проведет вас через процесс применения различных формул к ячейкам с помощью Java-программирования. Основная цель приложения Excel — поддерживать числовые данные, применяя к ним формулы.
В формуле мы передаем динамические значения или местоположения значений на листе Excel. Выполнив эту формулу, вы получите желаемый результат. В следующей таблице перечислены несколько основных формул, которые часто используются в Excel.
операция | Синтаксис |
---|---|
Добавление нескольких номеров | = SUM (Loc1: Locn) или = SUM (n1, n2,) |
подсчитывать | = COUNT (Loc1: Locn) или = COUNT (n1, n2,) |
Сила двух чисел | = POWER (Loc1, Loc2) или = POWER (число, мощность) |
Макс нескольких номеров | = MAX (Loc1: Locn) или = MAX (n1, n2,) |
Товар | = ПРОДУКТ (Loc1: Locn) или = ПРОДУКТ (n1, n2,) |
Факториал | = ФАКТ (Locn) или = ФАКТ (число) |
Абсолютное число | = ABS (Locn) или = ABS (число) |
Сегодня дата | = СЕГОДНЯ () |
Преобразует строчные | = НИЖНЯЯ (Locn) или = НИЖНЯЯ (текст) |
Квадратный корень | = SQRT (locn) или = 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
Файл формула.xlsx выглядит следующим образом.