public final class RKRecord extends CellRecord
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)
NumberRecord
Modifier and Type | Field and Description |
---|---|
static short |
RK_IEEE_NUMBER |
static short |
RK_IEEE_NUMBER_TIMES_100 |
static short |
RK_INTEGER |
static short |
RK_INTEGER_TIMES_100 |
static short |
sid |
Constructor and Description |
---|
RKRecord(RecordInputStream in) |
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. |
java.lang.Object |
clone() |
protected java.lang.String |
getRecordName()
Gets the debug info BIFF record type name (used by
CellRecord.toString() . |
double |
getRKNumber()
Extract the value of the number
|
short |
getSid()
return the non static version of the id for this record.
|
protected int |
getValueDataSize() |
protected void |
serializeValue(LittleEndianOutput out)
writes out the value data for this cell record
|
copyBaseFields, getColumn, getDataSize, getRow, getXFIndex, serialize, setColumn, setRow, setXFIndex, toString
getRecordSize, serialize
cloneViaReserialise, serialize
public static final short sid
public static final short RK_IEEE_NUMBER
public static final short RK_IEEE_NUMBER_TIMES_100
public static final short RK_INTEGER
public static final short RK_INTEGER_TIMES_100
public RKRecord(RecordInputStream in)
public double getRKNumber()
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]
protected java.lang.String getRecordName()
CellRecord
CellRecord.toString()
.getRecordName
in class CellRecord
protected void appendValueText(java.lang.StringBuilder sb)
CellRecord
CellRecord.toString()
for the value
contained in this record. Trailing new-line should not be appended
(superclass does that).appendValueText
in class CellRecord
sb
- the StringBuilder to write toprotected void serializeValue(LittleEndianOutput out)
CellRecord
serializeValue
in class CellRecord
out
- the outputprotected int getValueDataSize()
getValueDataSize
in class CellRecord
public short getSid()
Record
Copyright 2018 The Apache Software Foundation or its licensors, as applicable.