项目需要把EXCEL中每个单元格通过公式相互关联的单元格读取出来,现在遇到了一个问题。
例如:
如果单元格b6的公式是sum(b2:b5)这种形式,那么无法取出b2到b5这些关联的单元格,
写出sum(b2,b3,b4,b5)的话就能取出来。
我取他们关联形式的代码如下。Ptg[] ptgs = HSSFFormulaParser.parse(cell.getCellFormula(), wb, FormulaType.CELL, wb.getSheetIndex(sheet));
for(Ptg ptg:ptgs){
if(ptg instanceof RefPtg){
//获取本表格内关联单元格的相关代码
 }else if(ptg instanceof Ref3DPtg){
//获取其他表格内关联单元格的相关代码
}HSSFFormulaParser.parse()的参数依次为:
cell.getCellFormula() - 单元格b6的公式,
wb - HSSFWorkbook工作薄,
FormulaType.CELL - POI的一个常数
wb.getSheetIndex(sheet) - 表格