SODATACELL
Contains
information about the data to be placed in a cell of a spreadsheet.
typedef struct SODATACELLtag {
WORD
wStructSize; //see below
WORD
wStorage; //see below
WORD
wDisplay; //see below
DWORD
dwSubDisplay; //see below
WORD
wPrecision; //see below
WORD
wAlignment; //see below
WORD
wAttribute; //see below
union {
SOINT32S Int32S; //see below
SOINT32U Int32U; //see below
BYTE
IEEE4[4]; //see below
BYTE
IEEE8[8]; //see below
BYTE
IEEE10[10]; //see below
BYTE
BCD8[8]; //see below
}
uStorage;
} SODATACELL, VWPTR * PSODATACELL;
Members
wStructSize
Size, in
bytes, of the structure.
wStorage
Storage type.
This member can be one of these values:
SO_CELLBCD8I |
Packed BCD
excess-63. |
SO_CELLEMPTY |
The cell is
empty. |
SO_CELLERROR |
The cell
has an error condition. |
SO_CELLIEEE4I |
IEEE 4-byte
in Intel (PC) ordering. |
SO_CELLIEEE8I |
IEEE 8-byte
in Intel (PC) ordering. |
SO_CELLIEEE10I |
IEEE
10-byte in Intel (PC) ordering. |
SO_CELLINT32S |
32-bit
signed integer. |
SO_CELLINT32U |
32-bit
unsigned integer. |
wDisplay
Display type.
This member can be one of these values:
SO_CELLBOOL |
Boolean (0
= FALSE and 1 = TRUE). |
SO_CELLDATE |
Julian Days
since the base date. wStorage may be either an IEEE or integer value. |
SO_CELLDATETIME |
Julian Days
since the base date. wStorage may be either an IEEE or integer value. |
SO_CELLDECIMAL |
Decimal
notation. |
SO_CELLDOLLARS |
Dollar
sign. |
SO_CELLEXPONENT |
Exponential
notation. |
SO_CELLNUMBER |
General
number format. |
SO_CELLPERCENT |
Percent
(not constrained to 0 - 100). |
SO_CELLTIME |
Decimal
part of a day if wStorage is an IEEE value or seconds since 00:00 if wStorage
is an integer value. |
dwSubDisplay
Display
subtype. The values depend on wDisplay value.
For SO_CELLNUMBER and SO_CELLDOLLARS, this member can be a combination
of one negative-number format, thousands separator, and cell multiplier.
Negative
Number Format |
|
SO_CELLNEG_MINUS |
Negative
numbers have a minus sign. |
SO_CELLNEG_MINUSRED |
Negative
numbers have a minus sign and are red. |
SO_CELLNEG_PAREN |
Negative
numbers have parentheses. |
SO_CELLNEG_PARENRED |
Negative
numbers have parentheses and are red. |
Thousands
Separator |
|
SO_CELL1000SEP_COMMA |
Commas as
1,000s separator. |
SO_CELL1000SEP_NONE |
No 1000s
separator. |
Cell
Multiplier |
|
SO_CELLMULT_1 |
Used for
all file parsers. |
SO_CELLMULT_01 |
Used only
for Microsoft Excel viewer. |
SO_CELLMULT_05 |
Used only
for Lotus viewer. |
SO_CELLMULT_005 |
Used only
for Lotus viewer. |
SO_CELLMULT_0005 |
Used only
for Lotus viewer. |
SO_CELLMULT_00005 |
Used only
for Lotus viewer. |
SO_CELLMULT_500 |
Used only
for Lotus viewer. |
SO_CELLMULT_5000 |
Used only
for Lotus viewer. |
SO_CELLMULT_0625 |
Used only
for Lotus viewer. |
SO_CELLMULT_015625 |
Used only
for Lotus viewer. |
For
SO_CELLDATETIME, SO_CELLDATE, and SO_CELLTIME, this member can be a combination
of one date separator, day format, month format, year format, day of week
format, and time format.
Date
Separator |
|
SO_CELLDATESEP_MINUS |
|
SO_CELLDATESEP_NONE |
|
SO_CELLDATESEP_PERIOD |
|
SO_CELLDATESEP_SPACE |
|
Day
Format |
|
SO_CELLDAY_NONE |
|
SO_CELLDAY_NUMBER |
|
Month
Format |
|
SO_CELLMONTH_ABBREV |
|
SO_CELLMONTH_FULL |
|
SO_CELLMONTH_NONE |
|
SO_CELLMONTH_NUMBER |
|
Year
Format |
|
SO_CELLYEAR_ABBREV |
|
SO_CELLYEAR_FULL |
|
SO_CELLYEAR_NONE |
|
Day of
Week Format |
|
SO_CELLDAYOFWEEK_ABBREV |
|
SO_CELLDAYOFWEEK_FULL |
|
SO_CELLDAYOFWEEK_NONE |
|
Time
Format |
|
SO_CELLTIME_HHMM24 |
|
SO_CELLTIME_HHMMAM |
|
SO_CELLTIME_HHMMHMS |
For
example, 14h45m |
SO_CELLTIME_HHMMSS24 |
|
SO_CELLTIME_HHMMSSAM |
|
SO_CELLTIME_HHMMSSHMS |
For
example, 14h45m34s |
SO_CELLTIME_NONE |
|
wPrecision
Precision or
positioning value, depending on the wDisplay value.
For SO_CELLNUMBER and SO_CELLDOLLARS, this member specifies the number
of places to the right of the decimal point.
For SO_CELLDATETIME, SO_CELLDATE, and SO_CELLTIME, this member
specifies the position in the date time string of each element. It must be a
combination of one value for each of the day of week position, month position,
day position, year position, and time position.
Day of
Week Position |
|
SO_CELLDAYOFWEEK_1 |
|
SO_CELLDAYOFWEEK_2 |
|
SO_CELLDAYOFWEEK_3 |
|
SO_CELLDAYOFWEEK_4 |
|
SO_CELLDAYOFWEEK_5 |
|
Month
Position |
|
SO_CELLMONTH_1 |
|
SO_CELLMONTH_2 |
|
SO_CELLMONTH_3 |
|
SO_CELLMONTH_4 |
|
SO_CELLMONTH_5 |
|
Day
Position |
|
SO_CELLDAY_1 |
|
SO_CELLDAY_2 |
|
SO_CELLDAY_3 |
|
SO_CELLDAY_4 |
|
SO_CELLDAY_5 |
|
Year
Position |
|
SO_CELLYEAR_1 |
|
SO_CELLYEAR_2 |
|
SO_CELLYEAR_3 |
|
SO_CELLYEAR_4 |
|
SO_CELLYEAR_5 |
|
Time
Position |
|
SO_CELLTIME_1 |
|
SO_CELLTIME_2 |
|
SO_CELLTIME_3 |
|
SO_CELLTIME_4 |
|
SO_CELLTIME_5 |
|
wAlignment
Alignment of
data in the cell. This member can be the SO_CELLLEFT, SO_CELLRIGHT, or
SO_CELLCENTER value.
wAttribute
Attribute of
data in the cell. This member can be a combination of the SO_CELLBOLD,
SO_CELLITALIC, SO_CELLUNDERLINE, and SO_CELLSTRIKEOUT values.
Int32S
Signed 32-bit
integer.
Int32U
Unsigned
32-bit integer.
IEEE4
Four-byte
array representing an IEEE 4-byte floating-point number.
IEEE8
Eight-byte
array representing an IEEE 8-byte floating-point number.
IEEE10
Ten-byte
array representing an IEEE 10-byte floating-point number.
BCD8
Eight-byte
array representing an excess-63 floating-point packed BCD.