在我的代码中,我正在检查单元格类型,如果单元格类型是公式,那么我试图获取缓存值,如下所示:POI-XSSF:单元格类型是FORMULA,但无法获得cachedResultType
else if(cell.getCellType() == XSSFCell.CELL_TYPE_FORMULA){
System.out.println("formula result type:" +cell.getCachedFormulaResultType());
switch(cell.getCachedFormulaResultType()){
case XSSFCell.CELL_TYPE_NUMERIC:
....
....
break;
它工作正常的一些细胞,但在细胞中的一个,我得到非法状态例外:
java.lang.IllegalStateException: Only formula cells have cached results
我无法找出错误的原因。 我不使用这个else if
的cell.getCachedFormulaResult()
之外,甚至这适用于所有上述细胞(有相同的公式)
你使用的是什么版本的Apache POI?如果不是最新的,升级时会发生什么? – Gagravarr
也请添加完整的堆栈跟踪,以便我们看到引发异常的位置 – centic