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.