Prev Next

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.

Questions: