Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.ss.formula
Class FormulaParser

    java.lang.Object
      org.apache.poi.ss.formula.FormulaParser

    @Internal
    public final class FormulaParser

extends java.lang.Object

This class parses a formula string into a List of tokens in RPN order. Inspired by Lets Build a Compiler, by Jack Crenshaw BNF for the formula expression is : ::= [ ]* ::= [ ]* ::= | () | | ::= ([expression [, expression]*])

For POI internal use only

Method Summary
`static Ptg[]` | `parse(java.lang.String formula, FormulaParsingWorkbook workbook, FormulaType formulaType, int sheetIndex)` Parse a formula into an array of tokens Side effect: creates name (`Workbook.createName()`) if formula contains unrecognized names (names are likely UDFs)
`static Ptg[]` | `parse(java.lang.String formula, FormulaParsingWorkbook workbook, FormulaType formulaType, int sheetIndex, int rowIndex)` Parse a formula into an array of tokens Side effect: creates name (`Workbook.createName()`) if formula contains unrecognized names (names are likely UDFs)
`static Area3DPxg` | `parseStructuredReference(java.lang.String tableText, FormulaParsingWorkbook workbook, int rowIndex)` Parse a structured reference.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### parse

    public static Ptg[] parse(java.lang.String formula,
                              FormulaParsingWorkbook workbook,
                              FormulaType formulaType,
                              int sheetIndex,
                              int rowIndex)

  Parse a formula into an array of tokens Side effect: creates name (`Workbook.createName()`) if formula contains unrecognized names (names are likely UDFs)

  Parameters:
    `formula` - the formula to parse
    `workbook` - the parent workbook
    `formulaType` - the type of the formula
    `sheetIndex` - the 0-based index of the sheet this formula belongs to. The sheet index is required to resolve sheet-level names. `-1` means that the scope of the name will be ignored and the parser will match names only by name
    `rowIndex` - - the related cell's row index in 0-based form (-1 if the formula is not cell related) used to handle structured references that have the "#This Row" quantifier. Use rowIndex=-1 or `parseStructuredReference(String, FormulaParsingWorkbook, int)` if formula does not contain structured references.
  Returns:
    array of parsed tokens
  Throws:
    `FormulaParseException` - if the formula has incorrect syntax or is otherwise invalid

### parse

    public static Ptg[] parse(java.lang.String formula,
                              FormulaParsingWorkbook workbook,
                              FormulaType formulaType,
                              int sheetIndex)

  Parse a formula into an array of tokens Side effect: creates name (`Workbook.createName()`) if formula contains unrecognized names (names are likely UDFs)

  Parameters:
    `formula` - the formula to parse
    `workbook` - the parent workbook
    `formulaType` - the type of the formula
    `sheetIndex` - the 0-based index of the sheet this formula belongs to. The sheet index is required to resolve sheet-level names. `-1` means that the scope of the name will be ignored and the parser will match names only by name
  Returns:
    array of parsed tokens
  Throws:
    `FormulaParseException` - if the formula has incorrect syntax or is otherwise invalid

### parseStructuredReference

    public static Area3DPxg parseStructuredReference(java.lang.String tableText,
                                                     FormulaParsingWorkbook workbook,
                                                     int rowIndex)

  Parse a structured reference. Converts the structured reference to the area that represent it.

  Parameters:
    `tableText` - - The structured reference text
    `workbook` - - the parent workbook
    `rowIndex` - - the 0-based cell's row index ( used to handle "#This Row" quantifiers )
  Returns:
    the area that being represented by the structured reference.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.