org.apache.poi.hssf.record

## Class FormulaRecord

- java.lang.Object
- - org.apache.poi.hssf.record.RecordBase
  - - org.apache.poi.hssf.record.Record
    - - org.apache.poi.hssf.record.StandardRecord
      - - org.apache.poi.hssf.record.CellRecord
        - - org.apache.poi.hssf.record.FormulaRecord

- All Implemented Interfaces:
    Duplicatable, CellValueRecordInterface

      public final class FormulaRecord
      extends CellRecord

  Formula Record (0x0006).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static short` | `sid`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FormulaRecord()` Creates new FormulaRecord
    `FormulaRecord(FormulaRecord other)`
    `FormulaRecord(RecordInputStream ris)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `appendValueText(java.lang.StringBuilder sb)` Append specific debug info (used by `CellRecord.toString()` for the value contained in this record.
    `FormulaRecord` | `clone()` Deprecated.
    `FormulaRecord` | `copy()`
    `boolean` | `getCachedBooleanValue()`
    `int` | `getCachedErrorValue()`
    `int` | `getCachedResultType()`
    `Formula` | `getFormula()`
    `short` | `getOptions()` get the option flags
    `Ptg[]` | `getParsedExpression()`
    `protected java.lang.String` | `getRecordName()` Gets the debug info BIFF record type name (used by `CellRecord.toString()`.
    `short` | `getSid()` return the non static version of the id for this record.
    `double` | `getValue()` get the calculated value of the formula
    `protected int` | `getValueDataSize()`
    `boolean` | `hasCachedResultString()`
    `boolean` | `isAlwaysCalc()`
    `boolean` | `isCalcOnLoad()`
    `boolean` | `isSharedFormula()`
    `protected void` | `serializeValue(LittleEndianOutput out)` writes out the value data for this cell record
    `void` | `setAlwaysCalc(boolean flag)`
    `void` | `setCachedResultBoolean(boolean value)`
    `void` | `setCachedResultErrorCode(int errorCode)`
    `void` | `setCachedResultTypeEmptyString()`
    `void` | `setCachedResultTypeString()`
    `void` | `setCalcOnLoad(boolean flag)`
    `void` | `setOptions(short options)` set the option flags
    `void` | `setParsedExpression(Ptg[] ptgs)`
    `void` | `setSharedFormula(boolean flag)`
    `void` | `setValue(double value)` set the calculated value of the formula

    - ### Methods inherited from class org.apache.poi.hssf.record.CellRecord

      `getColumn, getDataSize, getRow, getXFIndex, serialize, setColumn, setRow, setXFIndex, toString`

    - ### Methods inherited from class org.apache.poi.hssf.record.StandardRecord

      `getRecordSize, serialize`

    - ### Methods inherited from class org.apache.poi.hssf.record.Record

      `cloneViaReserialise, serialize`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### sid

          public static final short sid

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### FormulaRecord

          public FormulaRecord()

      Creates new FormulaRecord

    - #### FormulaRecord

          public FormulaRecord(FormulaRecord other)

    - #### FormulaRecord

          public FormulaRecord(RecordInputStream ris)

  - ### Method Detail

    - #### setValue

          public void setValue(double value)

      set the calculated value of the formula
      Parameters:
        `value` - calculated value

    - #### setCachedResultTypeEmptyString

          public void setCachedResultTypeEmptyString()

    - #### setCachedResultTypeString

          public void setCachedResultTypeString()

    - #### setCachedResultErrorCode

          public void setCachedResultErrorCode(int errorCode)

    - #### setCachedResultBoolean

          public void setCachedResultBoolean(boolean value)

    - #### hasCachedResultString

          public boolean hasCachedResultString()

      Returns:
        `true` if this `FormulaRecord` is followed by a `StringRecord` representing the cached text result of the formula evaluation.

    - #### getCachedResultType

          public int getCachedResultType()

    - #### getCachedBooleanValue

          public boolean getCachedBooleanValue()

    - #### getCachedErrorValue

          public int getCachedErrorValue()

    - #### setOptions

          public void setOptions(short options)

      set the option flags
      Parameters:
        `options` - bitmask

    - #### getValue

          public double getValue()

      get the calculated value of the formula
      Returns:
        calculated value

    - #### getOptions

          public short getOptions()

      get the option flags
      Returns:
        bitmask

    - #### isSharedFormula

          public boolean isSharedFormula()

    - #### setSharedFormula

          public void setSharedFormula(boolean flag)

    - #### isAlwaysCalc

          public boolean isAlwaysCalc()

    - #### setAlwaysCalc

          public void setAlwaysCalc(boolean flag)

    - #### isCalcOnLoad

          public boolean isCalcOnLoad()

    - #### setCalcOnLoad

          public void setCalcOnLoad(boolean flag)

    - #### getParsedExpression

          public Ptg[] getParsedExpression()

      Returns:
        the formula tokens. never `null`

    - #### getFormula

          public Formula getFormula()

    - #### setParsedExpression

          public void setParsedExpression(Ptg[] ptgs)

    - #### getSid

          public short getSid()

      Description copied from class: `Record`
      return the non static version of the id for this record.
      Specified by:
        `getSid` in class `Record`
      Returns:
        he id for this record

    - #### getValueDataSize

          protected int getValueDataSize()

      Specified by:
        `getValueDataSize` in class `CellRecord`
      Returns:
        the size (in bytes) of the value data for this cell record

    - #### serializeValue

          protected void serializeValue(LittleEndianOutput out)

      Description copied from class: `CellRecord`
      writes out the value data for this cell record
      Specified by:
        `serializeValue` in class `CellRecord`
      Parameters:
        `out` - the output

    - #### getRecordName

          protected java.lang.String getRecordName()

      Description copied from class: `CellRecord`
      Gets the debug info BIFF record type name (used by `CellRecord.toString()`.
      Specified by:
        `getRecordName` in class `CellRecord`
      Returns:
        the record type name

    - #### appendValueText

          protected void appendValueText(java.lang.StringBuilder sb)

      Description copied from class: `CellRecord`
      Append specific debug info (used by `CellRecord.toString()` for the value contained in this record. Trailing new-line should not be appended (superclass does that).
      Specified by:
        `appendValueText` in class `CellRecord`
      Parameters:
        `sb` - the StringBuilder to write to

    - #### clone

          @Deprecated
           @Removal(version="5.0.0")
          public FormulaRecord clone()

      Deprecated.
      Overrides:
        `clone` in class `java.lang.Object`

    - #### copy

          public FormulaRecord copy()

      Specified by:
        `copy` in interface `Duplicatable`
      Specified by:
        `copy` in class `CellRecord`
      Returns:
        a deep copy of the implementing class / instance

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