java在excel编写公式并执行,解决公式setForceFormulaRecalculation不生效的原因

当java操作excel表格的时候,有时候通过公式计算比直接后台计算要方便,所以公式计算的重要性体现了出来

// 单元格类型
cell.setCellType(CellType.FORMULA.getCode());
// 公式
cell.setCellFormula("SUM(J20:J"+(count+1)+")/SUM(G20:G"+(count+1)+")");

单元格类型有这些

public enum CellType {
    @Internal(
        since = "POI 3.15 beta 3"
    )
    _NONE(-1), // 无类型
    NUMERIC(0), // 数值类型,整数,小数,日期
    STRING(1), // 字符串
    FORMULA(2), // 公式
    BLANK(3), // 空单元格,空值但是有样式
    BOOLEAN(4), // 布尔值
    ERROR(5); // 错误单元格

注意
cell.setCellValue(data1.toString())的时候,如果进行数值的公式计算,则需要进行类型转换cell.setCellValue(Double.parseDouble(data1.toString())) ,否则算不出结果,会一直为0,但是双击单元格需要计算的数据,又会展示有值
当然,最后还需要进行强制公式计算

sheet.setForceFormulaRecalculation(true);// 重新计算公式的意思
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值