2.4.210 Qsir

The Qsir record specifies the properties related to the formatting of a query table, and specifies the beginning of a collection of Qsif records as defined by the Worksheet Substream ABNF.  The collection of Qsif records specifies properties for a query table field.

One Qsir record is stored for each query 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

frtRefHeaderU

...

...

cbQsirSaved

cbQsifSaved

A

B

C

reserved1

D

E

F

G

H

I

J

wVerBeforeRefreshAlert

K

iSortCustom

cQsif

cpstDeleted

idFieldNext

ccolExtraLeft

ccolExtraRight

idList (optional)

rgbTitle (variable)

...

frtRefHeaderU (12 bytes):  An FrtRefHeaderU structure. The frtRefHeaderU.rt field MUST be 0x0806. The frtRefHeaderU.grbitFrt.fFrtRef field MUST be 1 and the frtRefHeaderU.ref8 field MUST refer to the range of cells associated with this record.

cbQsirSaved (2 bytes):  An unsigned integer that specifies the number of bytes in the Qsir record excluding the frtRefHeaderU , cbQsirSaved, and cbQsifSaved fields.

cbQsifSaved (2 bytes):  An unsigned integer that specifies the size in bytes of each Qsif record that follows this Qsir record. This value MUST be less than the difference between the size in bytes for the Qsif record and the size in bytes of the frtHeaderOld field in the same record.

A - fPersist (1 bit):  A bit that specifies whether sorting, filtering, and layout is preserved for this query table after data refresh operations.

B - fPersistSort (1 bit):  A bit that specifies whether the sorting is preserved for this query table after data refresh operations. MUST be equal to fPersist.

C - fPersistAutoFilter (1 bit):  A bit that specifies whether AutoFilter is preserved for this query table after data refresh operations. MUST be equal to fPersist.

reserved1 (16 bits):  MUST be zero, and MUST be ignored.

D - reserved2 (1 bit):  MUST be zero, and MUST be ignored.

E - fSorted (1 bit):  A bit that specifies whether a sort was applied for this query table.

F - fCaseSensSort (1 bit):  A bit that specifies whether the sort on the query table is case-sensitive.

G - fHdrRowSort (1 bit):  A bit that specifies whether the query table sort accounted for a header row.

H - fidWrapped (1 bit):  A bit that specifies whether the idFieldNext field value has exceeded its upper-bound value (0xFFFF).

I - reserved3 (1 bit):  MUST be zero, and MUST be ignored.

J - fTitlesOld (1 bit):  A bit that specifies whether the query table had titles the last time it was refreshed.

wVerBeforeRefreshAlert (5 bits):  An unsigned integer that specifies the oldest version of the application that is expected to correctly refresh the data in the query table without any errors. MUST be less than or equal to 0x000C.  The application version is a value specified in the following table:

Value

Application Version

0x0008

Specifies the application version.<106>

0x0009

Specifies the application version.<107>

0x000A

Specifies the application version.<108>

0x000B

Specifies the application version.<109>

0x000C

Specifies the application version.<110>

0x000E

Specifies the application version.<111>

0x000F

Specifies the application version.<112>

K - reserved4 (1 bit): MUST be zero, and MUST be ignored.

iSortCustom (4 bytes):  An unsigned integer that specifies the zero-based index of the custom list that specifies the sort order.  The set of custom lists is based on the current user's environment.

cQsif (4 bytes):  An unsigned integer that specifies the count of Qsif records that immediately follow this Qsir record.

cpstDeleted (4 bytes):  An unsigned integer that specifies the number of elements in the rgbTitle array.

idFieldNext (4 bytes):  An unsigned integer that specifies the next unique number available for assignment to a newly created Qsif record. MUST be greater than or equal to 0x0001 and less than or equal to 0xFFFF.

ccolExtraLeft (2 bytes):  A DCol structure that specifies the number of columns that do not contain external data that are included at the beginning of the query table by resizing. When a sort is applied to the query table, they are also applied to these columns.

ccolExtraRight (2 bytes):  A DCol structure that specifies the number of columns that do not contain external data that are included at the end of the query table by resizing. When a sort is applied to the query table, they are also applied to these columns.

idList (4 bytes):  An optional unsigned integer that specifies the value corresponding to the idList field of the TableFeatureType structure that is linked with this query table. This field exists only if the verLastXLSaved field of the BOF record is greater than or equal to 0x3.

rgbTitle (variable): An array of XLUnicodeString structures.  This array specifies the names of the database fields in the database query that are not included in the query table. The number of elements in this array MUST be equal to the value of the cpstDeleted field. The count of characters in each name MUST be greater than or equal to 0x0001 and less than or equal to 0x00FF.