2.5.159 XFProp

The XFProp structure specifies a formatting property. Instances of this structure appear as elements in the xfPropArray field of an XFProps (section 2.5.164) structure.


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

xfPropType

cb

xfPropDataBlob (variable)

...

xfPropType (2 bytes): An unsigned integer that specifies the type of the formatting property. This value MUST be greater than or equal to 0x0000 and less than or equal to 0x002C, and it MUST NOT be equal to 0x0027 or 0x0028. For more information about the meaning of this field, see the table in the description for xfPropDataBlob.

cb (2 bytes): An unsigned integer that specifies the size of this XFProp (section 2.5.159) structure.

xfPropDataBlob (variable): A field that specifies the formatting property data. The size and data type of this field varies based on the property type as specified in xfPropType.

xfPropType value

xfPropDataBlob field Data and Meaning

0x0000

A FillPattern (section 2.5.51) that specifies the fill pattern.

0x0001

An XFPropColor (section 2.5.161) that specifies the foreground color.

0x0002

An XFPropColor that specifies the background color.

0x0003

An XFPropGradient (section 2.5.162) that specifies the gradient fill. This is often followed in the same xfPropArray field of the XFProps record by one or more XFProp structures with xfPropType equal to 0x0004, which provides additional specifications for the gradient fill.

0x0004

An XFPropGradientStop (section 2.5.163) that specifies a gradient stop for a preceding XFProp with xfPropType equal to 0x0003 in the same xfPropArray field in the XFProps record.

0x0005

An XFPropColor that specifies the text color.

0x0006

An XFPropBorder (section 2.5.160) that specifies the top border formatting.

0x0007

An XFPropBorder that specifies the bottom border formatting.

0x0008

An XFPropBorder that specifies the left border formatting.

0x0009

An XFPropBorder that specifies the right border formatting.

0x000A

An XFPropBorder that specifies the diagonal border formatting.

0x000B

An XFPropBorder that specifies the vertical border formatting.

0x000C

An XFPropBorder that specifies the horizontal border formatting.

0x000D

A 1-byte unsigned integer that specifies whether a diagonal-up border is used. Its value MUST be 0 or 1. A value of 1 means that a diagonal-up border is used.

0x000E

A 1-byte unsigned integer that specifies whether a diagonal-down border is used. Its value MUST be 0 or 1. A value of 1 means that a diagonal-down border is used.

0x000F

A HorizAlign (section 2.5.74) that specifies the horizontal alignment.

0x0010

A VertAlign (section 2.5.158) that specifies the vertical alignment.

0x0011

An XFPropTextRotation (section 2.5.165) that specifies the text rotation.

0x0012

A 2-byte unsigned integer that specifies the absolute text indentation level. This value MUST be less than or equal to 15. The absolute indentation level replaces any previous indentation.

0x0013

A ReadingOrder (section 2.5.114) that specifies the reading order.

0x0014

A 1-byte unsigned integer that specifies whether cell text is wrapped. This value MUST be 0 or 1. A value of 1 means that the text is wrapped.

0x0015

A 1-byte unsigned integer that specifies whether cell text is justify distributed. This value MUST be 0 or 1. A value of 1 means that the text is justify distributed. If this value is 1, then an XFProp with xfPropType equal to 0x000F MUST exist in this xfPropArray field of XFProps and MUST equal 0x07.

0x0016

A 1-byte unsigned integer that specifies whether the cell is shrink to fit. This value MUST be 0 or 1. A value of 1 means that the cell is shrink to fit.

0x0017

A 1-byte unsigned integer that specifies whether the cell is merged. This value MUST be 0 or 1. A value of 1 means that the cell is merged.

0x0018

An LPWideString (section 2.5.92) that specifies the font name used by the cell data. This value MUST be less than or equal to 32 characters in length.

0x0019

A Bold (section 2.5.6) that specifies the font face weight.

0x001A

An Underline (section 2.5.157) that specifies the underline style.

0x001B

A Script (section 2.5.131) that specifies the superscript or subscript style.

0x001C

A 1-byte unsigned integer that specifies whether text is italicized. This value MUST be 0 or 1. The value of 1 means that the text is italic.

0x001D

A 1-byte unsigned integer that specifies whether text has strikethrough formatting applied. This value MUST be 0 or 1. A value of 1 means that the text has strikethrough formatting applied.

0x001E

A 1-byte unsigned integer that specifies whether text has an outline style. This value MUST be 0 or 1. A value of 1 means that the text is outline style.

0x001F

A 1-byte unsigned integer that specifies whether text has a shadow style. This value MUST be 0 or 1. A value of 1 means that the text is shadow style.

0x0020

A 1-byte unsigned integer that specifies whether text is condensed. This value MUST be 0 or 1. A value of 1 means that the text is condensed.

0x0021

A 1-byte unsigned integer that specifies whether text is extended. This value MUST be 0 or 1. A value of 1 means that the text is extended.

0x0022

A 1-byte unsigned integer that specifies a character set. For more information about character sets, see the Windows API LOGFONT structure in [MSDN-FONTS].

0x0023

A 1-byte unsigned integer that specifies a font family. For more information about font families, see the Windows API LOGFONT structure in [MSDN-FONTS]. This value MUST be greater than or equal to 0 and less than or equal to 5.

0x0024

A 4-byte unsigned integer that specifies text size in twips. This value MUST be greater than or equal to 20 and less than or equal to 8191.

0x0025

A FontScheme (section 2.5.54) structure that specifies the font scheme of a theme font.

0x0026

A number format as specified by [MS-XLS] section 2.5.126 that specifies the number format string.

0x0029

An Ifmt (section 2.5.77) that specifies the identifier of a number format.

0x002A

A 2-byte signed integer that specifies the relative text indentation level. The relative indentation level is added to any previous indentation. The value MUST either be greater than or equal to -15 and less than or equal to 15, or it MUST be 255. Values -15 through 15 specify a relative indentation level, and the value 255 specifies the absence of a relative indentation level.

0x002B

A 1-byte unsigned integer that specifies whether or not the locked protection property is set to true. This value MUST be 0 or 1. A value of 1 means that the property is set to true.

0x002C

A 1-byte unsigned integer that specifies whether the hidden protection property is set to true. This value MUST be 0 or 1. A value of 1 means that the property is set to true.