JavaPOI的计算公式

简介: JavaPOI的计算公式

首先需要准备一个excel

需要获取计算公式eval  FormulaEvaluator

image.png

如果我们用没有计算公式的行,那么不会有用


image.png

package com.wyh.Test;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.junit.Test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
/**
 * @program: JavaExecl
 * @description: excel计算公式
 * @author: 魏一鹤
 * @createDate: 2021-12-18 00:03
 **/
public class ExcelCalculation {
//全局路径,供我们操作使用方便
    static String path="D:\\Tools\\JavaWorkSpace\\JavaExecl\\";
    @Test
public void  testFormula() throws Exception {
//首先还是要获取路径
        FileInputStream fileInputStream = new FileInputStream(path + "计算公式.xls");
//读取文件
        Workbook workbook = new HSSFWorkbook(fileInputStream);
//读取表
        Sheet sheet = workbook.getSheetAt(0);
//根据表拿出数据
        //因为我们的需要计算的单元格在第五行 从0开始的 所以下标为4
        //如果我们用没有计算公式的行,那么不会有用
        Row row = sheet.getRow(4);
//(第一行 4,1)
        Cell cell = row.getCell(0);
//拿到计算公式 eval
        FormulaEvaluator formulaEvaluator = new HSSFFormulaEvaluator((HSSFWorkbook)workbook);
//输出单元格的内容
        //获取类型进行便利
        int cellType = cell.getCellType();
switch (cellType){
case Cell.CELL_TYPE_FORMULA://获取公式
                String cellFormula = cell.getCellFormula();
                System.out.println(cellFormula);
//计算
                CellValue evaValue=formulaEvaluator.evaluate(cell);
                String cellValue = evaValue.formatAsString();
                System.out.println(cellValue);
//结束循环
                break;
        }
    }
}


这样就能计算出sheet直接的结果了

目录
相关文章
土方量的几种计算方法
土方量的几种计算方法
254 1
交流电路理论:峰值、平均值和RMS值的计算公式
除了频率和周期之外,AC 波形的一个关键属性是振幅,它表示交变波形的最大值,或者更广为人知的是峰值。
6652 0
交流电路理论:峰值、平均值和RMS值的计算公式
|
6月前
【Quant102】如何计算 N 日斜率
【Quant102】如何计算 N 日斜率
47 0
【Quant102】如何计算 N 日斜率
|
3月前
小波阈值公式
小波阈值公式
16 1
|
5月前
技术心得记录:可决系数R^2和方差膨胀因子VIF
技术心得记录:可决系数R^2和方差膨胀因子VIF
60 0
|
6月前
比例和比例定理
比例和比例定理
106 9
|
6月前
油管公式(全)
油管公式(全)
324 0
|
人工智能 移动开发 算法
Sherman-Morrison公式及其应用
Sherman-Morrison公式   Sherman-Morrison公式以 Jack Sherman 和 Winifred J. Morrison命名,在线性代数中,是求解逆矩阵的一种方法。
2924 0