Ptg[]
- это массив токенов , который представляет формулу в ячейке.
Предположим, в моем листе Excel я имею в качестве ячейки с формулой
=D4+D6+D8-D11+D23+D29+D46-D49
Выполнение этого через FormulaParser дает мне массив, который я распечатал, как показано ниже
HSSFEvaluationWorkbook hssfew = HSSFEvaluationWorkbook.create(workBook);
Ptg[] ptg = FormulaParser.parse(cell1.getCellFormula(), hssfew, FormulaType.NAMEDRANGE, 0);
for (int i=0;i<ptg.length;i++){
System.out.println (ptg[i]);
}
Результат
org.apache.poi.hssf.record.formula.RefPtg [D4]
org.apache.poi.hssf.record.formula.RefPtg [D6]
class org.apache.poi.hssf.record.formula.AddPtg
org.apache.poi.hssf.record.formula.RefPtg [D8]
class org.apache.poi.hssf.record.formula.AddPtg
org.apache.poi.hssf.record.formula.RefPtg [D11]
class org.apache.poi.hssf.record.formula.SubtractPtg
org.apache.poi.hssf.record.formula.RefPtg [D23]
class org.apache.poi.hssf.record.formula.AddPtg
org.apache.poi.hssf.record.formula.RefPtg [D29]
class org.apache.poi.hssf.record.formula.AddPtg
org.apache.poi.hssf.record.formula.RefPtg [D46]
class org.apache.poi.hssf.record.formula.AddPtg
org.apache.poi.hssf.record.formula.RefPtg [D49]
class org.apache.poi.hssf.record.formula.SubtractPtg
Как вы можете видеть, это разбивает каждый элемент вформула для соответствующего местоположения ячейки или оператора AddPtg для +
и SubtractPtg для -
operator
Это простой пример, вы можете попробовать более сложные вещи