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.