2.5.283 XFProp

The XFProp structure specifies a formatting property. Instances of this structure appear as elements in the xfPropArray field of an XFProps 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. MUST be greater than or equal to 0x0000 and less than or equal to 0x002C, and MUST NOT equal 0x0027 or 0x0028. See the table in xfPropDataBlob for more information about the meaning of this field.

cb (2 bytes): An unsigned integer that specifies the size of this XFProp 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 as follows:

xfPropType value

xfPropDataBlob field Data and Meaning

0x0000

A FillPattern that specifies the fill pattern.

0x0001

An XFPropColor that specifies the foreground color.

0x0002

An XFPropColor that specifies the background color.

0x0003

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

0x0004

An XFPropGradientStop that specifies a gradient stop for a preceding XFProp with xfPropType equal to 0x0003 in the same xfPropArray field in the XFProps structure.

0x0005

An XFPropColor that specifies the text color.

0x0006

An XFPropBorder 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. MUST be 0 or 1. The 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. MUST be 0 or 1. The value of 1 means that a diagonal-down border is used.

0x000F

A HorizAlign that specifies the horizontal alignment.

0x0010

A VertAlign that specifies the vertical alignment.

0x0011

An XFPropTextRotation that specifies the text rotation.

0x0012

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

0x0013

A ReadingOrder that specifies the reading order.

0x0014

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

0x0015

A 1-byte unsigned integer that specifies whether cell text is justify distributed. MUST be 0 or 1. The 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 the XFProps structure and MUST equal 0x07.

0x0016

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

0x0017

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

0x0018

An LPWideString that specifies the font name used by the cell data. MUST be less than or equal to 32 characters in length.

0x0019

A Bold that specifies the font face weight.

0x001A

An Underline that specifies the underline style.

0x001B

A Script that specifies the superscript or subscript style.

0x001C

A 1-byte unsigned integer that specifies whether text is italicized. 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. MUST be 0 or 1. The 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. MUST be 0 or 1. The value of 1 means that the text is outline style.

0x001F

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

0x0020

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

0x0021

A 1-byte unsigned integer that specifies whether text is extended. MUST be 0 or 1. The 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]. 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. MUST be greater than or equal to 20 and less than or equal to 8191.

0x0025

A FontScheme that specifies the font scheme of a theme font.

0x0026

A number format as specified by the stFormat field of Format that specifies the number format string.

0x0029

An IFmt that specifies a number format identifier.

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 the locked protection property is set to true. MUST be 0 or 1. The 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. MUST be 0 or 1. The value of 1 means that the property is set to true.