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.