2.4.144 Index

The Index record specifies row information and the file locations for all DBCell records corresponding to each row block in the sheet. This record, combined with the DBCell records, is used to optimize the lookup of cells in a cell table.


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

reserved

rwMic

rwMac

ibXF

rgibRw (variable)

...

reserved (4 bytes): MUST be zero, and MUST be ignored.

rwMic (4 bytes):  A RwLongU structure that specifies the first row that has at least one cell with data in current sheet. MUST be 0 if there are no rows that have at least one cell with data.

rwMac (4 bytes):  An unsigned integer that specifies one plus the zero-based index of the last row that has at least one cell with data in the sheet. MUST be 0 if there are no rows that have at least one cell with data. If not 0, MUST be greater than rwMic.

ibXF (4 bytes):  A FilePointer as specified in [MS-OSHARED] section 2.2.1.5 that specifies the file position of the DefColWidth record in the current sheet.

rgibRw (variable): An array of FilePointer.  Each FilePointer as specified in [MS-OSHARED] section 2.2.1.5 specifies the file position of each referenced DBCell record. If the positions of DBCell records are not correct, there is no optimized method to do cell lookup and this can cause performance issues. The number of elements in the array MUST be equal to the number of row blocks in this sheet.