The SXLI record stores an array of variable-length SXLI structures, which describe the row and column items in a PivotTable. There are two SXLI records for each PivotTable: the first stores row items, and the second stores column items.
Record Data
Offset |
Name |
Size |
Contents |
4 |
rgsxli |
var |
Array of SXLI structures |
The SXLI structure has variable length but will always be at least 10 bytes long, with one element in the rgisxvi array (the index to the SXVI record for the item). The SXLI structure is shown in the following table.
Offset |
Name |
Size |
Contents |
0 |
cSic |
2 |
Count of items that are identical to the previous element in rgsxvi; for 0 <= i < cSic, rgisxvi[i] is the same as the previous line. |
2 |
itmtype |
2 |
Item type: |
4 |
isxviMac |
2 |
Maximum index to the rgisxvi[i] array. |
6 |
grbit |
2 |
Option flags; see the following table. |
8 |
rgisxvi |
2 |
Array of indexes to SXVI records; the number of elements in the array is (isxviMac + 1). |
The grbit field contains the flags listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
0 |
0001h |
fMultiDataName |
= 1, use the data field name for the subtotal (instead of using "Total"). |
8–1 |
01F7h |
iData |
For a multidata subtotal, iData is the index to the data field. | |
9 |
0200h |
fSbt |
= 1, this item is a subtotal. | |
10 |
0400h |
fBlock |
= 1, this item is a block total. | |
11 |
0800h |
fGrand |
= 1, this item is a grand total. | |
12 |
1000h |
fMultiDataOnAxis |
= 1, this axis contains multi-data. | |
15–13 |
E000h |
(Reserved) |
Reserved; must be 0 (zero). |