2.5.20 CellXF

This structure specifies formatting properties for a cell.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

alc

A

alcV

B

trot

cIndent

C

D

E

F

G

H

I

J

K

L

dgLeft

dgRight

dgTop

M

icvLeft

icvRight

N

icvTop

icvBottom

icvDiag

dgDiag

O

fls

icvFore

icvBack

P

Q

alc (3 bits): A HorizAlign that specifies the horizontal alignment.

A - fWrap (1 bit): A bit that specifies whether the cell text is wrapped.

alcV (3 bits): A VertAlign that specifies the vertical alignment.

B - fJustLast (1 bit): A bit that specifies whether the justified or distributed alignment of the cell is used on the last line of text (setting this to 1 is typical for East Asian text but not typical in other contexts). If this field equals 1, then alc MUST equal 7.

trot (1 byte): An XFPropTextRotation that specifies the text rotation.

cIndent (4 bits): An unsigned integer that specifies the text indentation level. MUST be less than or equal to 15.

C - fShrinkToFit (1 bit): A bit that specifies whether the cell is shrink to fit.

D - reserved1 (1 bit): MUST be 0, and MUST be ignored.

E - iReadOrder (2 bits): A ReadingOrder that specifies the reading order.

F - reserved2 (2 bits): MUST be 0, and MUST be ignored.

G - fAtrNum (1 bit): A bit that specifies that if the ifmt field of the XF record specified by the ixfParent field of the containing XF record is updated, the corresponding field of the containing XF  record will not be set to the same value. MUST be a value from the following table:

Value

Meaning

0x0

The ifmt field of the containing XF record is updated when the corresponding field of the XF record specified by the ixfParent field of the containing XF record is changed.

0x1

The ifmt field of the containing XF record is not updated when the corresponding field of the XF record specified by the ixfParent field of the containing XF record is changed.

H - fAtrFnt (1 bit): A bit that specifies that if the ifnt field of the XF record specified by the ixfParent field of the containing XF record is updated, the corresponding field of the containing XF  record will not be set to the same value. MUST be a value from the following table:

Value

Meaning

0x0

The ifnt field of the containing XF record is updated when the corresponding field of the XF record specified by the ixfParent field of the containing XF record is changed.

0x1

The ifnt field of the containing XF record is not updated when the corresponding field of the XF record specified by the ixfParent field of the containing XF record is changed.

I - fAtrAlc (1 bit): A bit that specifies that if the alc field, or the fWrap field, or the alcV field, or the fJustLast field, or the trot field, or the cIndent field, or the fShrinkToFit field or the iReadOrder field of the XF record specified by the ixfParent field of the containing XF record is updated, the corresponding fields of this structure will not be set to the same values. MUST be a value from the following table:

Value

Meaning

0x0

The alc, fWrap, alcV, fJustLast, trot, cIndent, fShrinkToFit, iReadOrder fields are updated when the corresponding fields of the XF record specified by the ixfParent field of the containing XF record are changed.

0x1

The alc, fWrap, alcV, fJustLast, trot, cIndent, fShrinkToFit, iReadOrder fields are not updated when the corresponding fields of the XF record specified by the ixfParent field of the containing XF record are changed.

J - fAtrBdr (1 bit): A bit that specifies that if the dgLeft field, or the dgRight field, or the dgTop field, or the dgBottom field, or the dgDiag field, or the icvLeft field, or the icvRight field, or the grbitDiag field, or the icvTop field, or the icvBottom field, or the icvDiag field of the XF record specified by the ixfParent field of the containing XF record is updated, the corresponding fields of this structure will not be set to the same values. MUST be a value from the following table:

Value

Meaning

0x0

The dgLeft, dgRight, dgTop, dgBottom, dgDiag, icvLeft, icvRight, grbitDiag, icvTop, icvBottom, icvDiag fields are updated when the corresponding fields of the XF record specified by the ixfParent field of the containing XF record are changed.

0x1

The dgLeft, dgRight, dgTop, dgBottom, dgDiag, icvLeft, icvRight, grbitDiag, icvTop, icvBottom, icvDiag fields are not updated when the corresponding fields of the XF record specified by the ixfParent field of the containing XF record are changed.

K - fAtrPat (1 bit): A bit that specifies that if the fls field, the icvFore field, or the icvBack field of the XF record specified by the ixfParent field of the containing XF record is updated, the corresponding fields of this structure will not be set to the same values. MUST be a value from the following table:

Value

Meaning

0x0

The fls, icvFore, and icvBack fields are updated when the corresponding fields of the XF record specified by the ixfParent field of the containing XF record are changed.

0x1

The fls, icvFore, and icvBack fields are not updated when the corresponding fields of the XF record specified by the ixfParent field of the containing XF record are changed.

L - fAtrProt (1 bit): A bit that specifies that if the fLocked field or the fHidden field of the XF record specified by the ixfParent field of the containing XF record is updated, the corresponding fields of the containing XF record will not be set to the same values. MUST be a value from the following table:

Value

Meaning

0x0

The fLocked and fHidden fields of the containing XF record are updated when the corresponding fields of the XF record specified by the ixfParent field of the containing XF record are changed.

0x1

The fLocked and fHidden fields of the containing XF record are not updated when the corresponding fields of the XF record specified by the ixfParent field of the containing XF record are changed.

dgLeft (4 bits): A BorderStyle that specifies the logical left border formatting.        

dgRight (4 bits): A BorderStyle that specifies the logical right border formatting.

dgTop (4 bits): A BorderStyle that specifies the top border formatting.

M - dgBottom (4 bits): A BorderStyle that specifies the bottom border formatting.

icvLeft (7 bits): An unsigned integer that specifies the color of the logical left border. The value MUST be one of the values specified in IcvXF or 0. A value of 0 means the logical left border color has not been specified. If this value is 0, then dgLeft MUST also be 0.

icvRight (7 bits): An unsigned integer that specifies the color of the logical right border. The value MUST be one of the values specified in IcvXF or 0. A value of 0 means the logical right border color has not been specified. If this value is 0, then dgRight MUST also be 0.

N - grbitDiag (2 bits): An unsigned integer that specifies which diagonal borders are present (if any). MUST be a value from the following table:

Value

Meaning

0x0

No diagonal border

0x1

Diagonal-down border

0x2

Diagonal-up border

0x3

Both diagonal-down and diagonal-up

icvTop (7 bits): An unsigned integer that specifies the color of the top border. The value MUST be one of the values specified in IcvXF or 0. A value of 0 means the top border color has not been specified. If this value is 0, then dgTop MUST also be 0.

icvBottom (7 bits): An unsigned integer that specifies the color of the bottom border. The value MUST be one of the values specified in IcvXF or 0. A value of 0 means the bottom border color has not been specified. If this value is 0 then dgBottom MUST also be 0.

icvDiag (7 bits): An unsigned integer that specifies the color of the diagonal border. The value MUST be one of the values specified in IcvXF or 0. A value of 0 means the diagonal border color has not been specified. If this value is 0 then dgDiag MUST also be 0.

dgDiag (4 bits): A BorderStyle that specifies the diagonal border formatting.

O - fHasXFExt (1 bit): A bit that specifies whether an XFExt will extend the information in this XF.

fls (6 bits): A FillPattern that specifies the fill pattern. If this value is 1, which specifies a solid fill pattern, then only icvFore is rendered.

icvFore (7 bits): An IcvXF that specifies the foreground color of the fill pattern.

icvBack (7 bits): An unsigned integer that specifies the background color of the fill pattern. The value SHOULD<152> be an IcvXF value.

P - fsxButton (1 bit): A bit that specifies whether the XF record is attached to a pivot field drop-down button.

Q - reserved3 (1 bit): MUST be 0 and MUST be ignored.