java如何获取excel公式计算结果,不用XSSFFormulaEvaluator,POI的公式取值GC频率过高

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何获取excel公式计算结果,不用XSSFFormulaEvaluator,POI的公式取值GC频率过高相关的知识,希望对你有一定的参考价值。

提供一个sheet页模板,让用户填写数据,然后上传到服务器,服务器将用户上传的数据,复制到服务器中的模板的相应Sheet页上,再通过excel的公式将计算结果(多行多列)反馈给上传用户,在POI的复制和计算过程中,因公式复杂,公式项多,sheet页多,在调用XSSFFormulaEvaluator.evaluate()方法时导致内存占用过大,GC频率过高,甚至OOM,有什么方法可以解决。
现将用户数据赋值到了服务器模板,在不通过XSSFFormulaEvaluator.evaluate()计算时取excel单元格数据为模板的值,没有刷新。或者有没有什么方法,在获取用户上传数据赋值到服务器模板中,调用excel的公式执行方法?再读取模板中的值……
如有好的建议,欢迎沟通 QQ:717092771

参考技术A if(cell.getCachedFormulaResultType() == 0)res = String.valueOf(cell.getNumericCellValue());;
if(cell.getCachedFormulaResultType() == 1)res = cell.getStringCellValue();
不用evaluator

以上是关于java如何获取excel公式计算结果,不用XSSFFormulaEvaluator,POI的公式取值GC频率过高的主要内容,如果未能解决你的问题,请参考以下文章

excel如何计算统计结果的FDR值

EXCEL中如何根据公式自动求出当前单元格的值?

Java添加读取Excel公式

用JAVA判断输入的公式

excel公式问题,获取行号列号之后,如何获取该单元格内的值。

请教excel的坐标距离计算公式。