我需要用一些数据来完成一个Excel。但是工作表中的一个单元格是一个公式,因此我正在使用 poi 库提供的解析公式,但我想使用的公式存在一些问题:
=IF((E9*1,5+F9+G9*2/3) = 0;"";E9*1,5+F9+G9*2/3)
PS:所有单元格都在不同的列表中
代码如下:
"IF(("+cellule_cm.get(ligne_excel)+"*1,5+"+cellule_td.get(ligne_excel)+"+"+
cellule_tp.get(ligne_excel)+"*2/3)=0;\"\";"+cellule_cm.get(ligne_excel)+"*1,5+"+cellule_td.get(ligne_excel)+"+"+cellule_tp.get(ligne_excel)+"*2/3)";
ligne_excel
是我要修改的行的索引
cellule_cm
、cellule_td
、cellule_tp
是我的单元格列表
当我运行时它抛出异常:
Parse error near char 23 ';' in specified formula 'IF((E9*1,5+F9+G9*2/3)=0;"";E9*1,5+F9+G9*2/3)'. Expected ',' or ')'
不明白为什么无法解析 你能帮我吗?
最佳答案
根据Apache POI-documentation POI 仅支持逗号作为参数分隔符:
“基础知识”部分
“另请注意,根据 Excel 英语样式,只能使用逗号来分隔参数,不支持其他本地化中使用的替代分隔符。”
关于java - 用java poi解析公式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875263/