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);// 重新计算公式的意思
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你在 Linux 环境下使用 Java 并且遇到了 FontProvider 字体引用不生效的问题,可能是因为字体文件路径设置不正确或者字体文件缺失。以下是一些可能有用的方法: 1. 检查字体文件路径是否正确 请确保字体文件路径是正确的。在 Linux 上,字体文件通常位于 `/usr/share/fonts` 目录下。你可以使用以下命令来查找字体文件: ``` find /usr/share/fonts -type f -name "*.ttf" ``` 请将上述命令中的文件扩展名 `.ttf` 替换为你需要查找的字体文件扩展名。如果你无法找到字体文件,可能是因为字体文件缺失,请继续阅读下面的内容。 2. 安装所需字体文件 如果你在 Linux 上缺少所需的字体文件,你可以使用以下命令来安装常用的字体文件: 在 Ubuntu 上安装常用字体文件: ``` sudo apt-get update sudo apt-get install ttf-mscorefonts-installer fonts-wqy-zenhei fonts-wqy-microhei ``` 在 CentOS 上安装常用字体文件: ``` sudo yum install fontconfig sudo yum install freetype* sudo yum install urw-fonts sudo yum install wqy-zenhei-fonts wqy-microhei-fonts ``` 在其他 Linux 发行版上,你可以使用相应的包管理器来安装字体文件。 3. 设置字体文件路径 你需要在 Java 代码中设置字体文件路径,以便让 FontProvider 正确引用字体文件。以下是一个示例代码: ```java import com.itextpdf.text.pdf.BaseFont; import java.io.IOException; public class FontProviderTest { public static void main(String[] args) throws IOException { String fontPath = "/usr/share/fonts/arialuni.ttf"; BaseFont baseFont = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); System.out.println(baseFont.getPostscriptFontName()); } } ``` 在上面的代码中,我们使用 `BaseFont.createFont` 方法来加载字体文件,并将文件路径作为参数传递。请确保文件路径是正确的,并且字体文件存在于该路径下。 4. 设置字体文件权限 请确保 Java 可以读取字体文件。你可以使用以下命令更改字体文件的权限: ``` chmod 644 /usr/share/fonts/arialuni.ttf ``` 在上述命令中,请将文件路径替换为你的字体文件路径。 希望这些方法可以帮助你解决 FontProvider 字体引用不生效的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值