Class RKRecord
- All Implemented Interfaces:
CellValueRecordInterface
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 Summary
FieldsModifier and TypeFieldDescriptionstatic final shortstatic final shortstatic final shortstatic final shortstatic final short -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAppend specific debug info (used byCellRecord.toString()for the value contained in this record.clone()protected StringGets the debug info BIFF record type name (used byCellRecord.toString().doubleExtract the value of the numbershortgetSid()return the non static version of the id for this record.protected intprotected voidwrites out the value data for this cell recordMethods inherited from class org.apache.poi.hssf.record.CellRecord
copyBaseFields, getColumn, getDataSize, getRow, getXFIndex, serialize, setColumn, setRow, setXFIndex, toStringMethods inherited from class org.apache.poi.hssf.record.StandardRecord
getRecordSize, serializeMethods inherited from class org.apache.poi.hssf.record.Record
cloneViaReserialise, serialize
-
Field Details
-
sid
public static final short sid- See Also:
-
RK_IEEE_NUMBER
public static final short RK_IEEE_NUMBER- See Also:
-
RK_IEEE_NUMBER_TIMES_100
public static final short RK_IEEE_NUMBER_TIMES_100- See Also:
-
RK_INTEGER
public static final short RK_INTEGER- See Also:
-
RK_INTEGER_TIMES_100
public static final short RK_INTEGER_TIMES_100- See Also:
-
-
Constructor Details
-
RKRecord
-
-
Method Details
-
getRKNumber
public double getRKNumber()Extract the value of the numberThe 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
Description copied from class:CellRecordGets the debug info BIFF record type name (used byCellRecord.toString().- Specified by:
getRecordNamein classCellRecord- Returns:
- the record type name
-
appendValueText
Description copied from class:CellRecordAppend specific debug info (used byCellRecord.toString()for the value contained in this record. Trailing new-line should not be appended (superclass does that).- Specified by:
appendValueTextin classCellRecord- Parameters:
sb- the StringBuilder to write to
-
serializeValue
Description copied from class:CellRecordwrites out the value data for this cell record- Specified by:
serializeValuein classCellRecord- Parameters:
out- the output
-
getValueDataSize
protected int getValueDataSize()- Specified by:
getValueDataSizein classCellRecord- Returns:
- the size (in bytes) of the value data for this cell record
-
getSid
public short getSid()Description copied from class:Recordreturn the non static version of the id for this record. -
clone
-