Class RKRecord

All Implemented Interfaces:
CellValueRecordInterface

public final class RKRecord extends CellRecord
Title: RK Record (0x027E)

Description: An internal 32 bit number with the two most significant bits storing the type. This is part of a bizarre scheme to save disk space and memory (gee look at all the other whole records that are in the file just "cause"..,far better to waste processor cycles on this then leave on of those "valuable" records out).

We support this in READ-ONLY mode. HSSF converts these to NUMBER records

REFERENCE: PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • getRKNumber

      public double getRKNumber()
      Extract the value of the number

      The mechanism for determining the value is dependent on the two low order bits of the raw number. If bit 1 is set, the number is an integer and can be cast directly as a double, otherwise, it's apparently the exponent and mantissa of a double (and the remaining low-order bits of the double's mantissa are 0's).

      If bit 0 is set, the result of the conversion to a double is divided by 100; otherwise, the value is left alone.

      [insert picture of Screwy Squirrel in full Napoleonic regalia]

      Returns:
      the value as a proper double (hey, it could happen)
    • getRecordName

      protected 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(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
    • 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
    • getValueDataSize

      protected int getValueDataSize()
      Specified by:
      getValueDataSize in class CellRecord
      Returns:
      the size (in bytes) of the value data for this cell record
    • 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
    • clone

      public Object clone()
      Overrides:
      clone in class Record