These records define names, point at other workbooks and data sources, and describe queries that fetch external data. Section numbers are those of [MS-XLS] v20250819; offsets count from the start of the record data and integers are little-endian. The formulas that use names and external references are on formulas (PtgName, PtgRef3d, PtgArea3d and others carry an index into these records).
Defined names
Lbl (0x0018)
One defined name (2.4.150). The record is in the Globals substream; a name that
belongs to one sheet has itab set.
| Offset | Size | Field | Meaning |
|---|---|---|---|
0 | 2 | flags | Bit 0 fHidden (not shown in the list of names); 1 fFunc (an Excel 4 macro; fProc must also be 1); 2 fOB (a VBA macro; fProc must also be 1); 3 fProc (a macro); 4 fCalcExp (rgce calls a function that can return an array); 5 fBuiltin (a built-in name); bits 6–11 fGrp (function category, below); 12 reserved; 13 fPublished (ignored when fPublishedBookItems of BookExt_Conditional12 is 0); 14 fWorkbookParam; 15 reserved. |
2 | 1 | chKey | The ASCII code of the macro’s shortcut key, 0x41–0x5A or 0x61–0x7A; 0 (none) if fFunc is 1 or fProc is 0. |
3 | 1 | cch | Number of characters in Name. |
4 | 2 | cce | Size in bytes of rgce. |
6 | 2 | reserved3 | Zero. |
8 | 2 | itab | 0 for a workbook-level name; otherwise the one-based index of the BoundSheet8 record of the sheet the name is local to. |
10 | 4 | reserved4–7 | Four bytes, each zero. |
14 | varies | Name | An XLUnicodeStringNoCch of cch characters. When fBuiltin is 1 this is the built-in name or its index (below). |
| then | cce | rgce | A NameParsedFormula: the formula the name stands for (Ptgs, then any extra data). |
fGrp is at most 31. Values 0 to 16 are 0 All, 1 Financial, 2 Date Time,
3 Math Trigonometry, 4 Statistical, 5 Lookup, 6 Database, 7 Text, 8 Logical, 9 Info,
10 Commands, 11 Customize, 12 Macro Control, 13 DDE External, 14 User Defined, 15
Engineering, 16 Cube; 17 to 31 are user-defined categories named by FnGroupName
records.
| Index | Built-in name |
|---|---|
0x00 | Consolidate_Area |
0x01 | Auto_Open |
0x02 | Auto_Close |
0x03 | Extract |
0x04 | Database |
0x05 | Criteria |
0x06 | Print_Area |
0x07 | Print_Titles |
0x08 | Recorder |
0x09 | Data_Form |
0x0A | Auto_Activate |
0x0B | Auto_Deactivate |
0x0C | Sheet_Title |
0x0D | _FilterDatabase |
NameCmt (0x0894)
A comment on the defined name of the preceding Lbl (2.4.176). A future record:
frtHeader (12, rt = 0x0894),
cchName (2, at most 255), cchComment (2, at most 255),
name (XLUnicodeStringNoCch of cchName characters: the same
string as the Lbl’s name, compared without regard to case, or for a built-in name the
name that its number stands for) and comment
(XLUnicodeStringNoCch).
NamePublish (0x0893)
Publishing data for a name (2.4.178): frtHeader (12, rt =
0x0893), 2 bytes of flags (bit 0 fPublished, published to a
server, ignored when fPublishedBookItems is 0; bit 1
fWorkbookParam; 14 bits unused) and strName (an
XLNameUnicodeString).
The function-group records FnGroupName, FnGrp12 and NameFnGrp12 are on workbook settings.
External references
A formula that names a cell on another sheet uses a Ptg whose ixti
indexes the ExternSheet record, whose XTI structures in turn name a SupBook (a
“supporting link”) and a range of sheets in it. After each SupBook come the
ExternName records of that link and, for an external workbook, its XCT and CRN cell
caches.
SupBook (0x01AE)
One supporting link (2.4.271). Fields: ctab (2), cch (2),
virtPath (XLUnicodeStringNoCch, present only when cch is
1 to 255, with that many characters) and rgst (an array of
XLUnicodeString of ctab sheet names, present for an external workbook
or an unused link only).
cch | virtPath | Link type and ctab |
|---|---|---|
0x0401 | absent | Self-referencing (this workbook); ctab undefined. |
0x3A01 | absent | Add-in referencing: the names of XLL and COM add-in functions that formulas use follow as ExternName records; ctab is 0x0001. |
| 1 to 255 | a single NULL (0x00) | Same-sheet referencing; ctab is 0x0000. |
| 1 to 255 | a single space (0x20) | Unused link, which no formula may use; ctab is the number of sheets it formerly had (else 0) and each rgst element is a single space. |
| 1 to 255 | an ole-link | A DDE or OLE data source: ctab is 0x0000. |
| 1 to 255 | any other VirtualPath | External workbook referencing: ctab is the number of sheets, and rgst lists their names. |
VirtualPath (2.5.277)
An XLUnicodeString that must match this grammar (the characters 0x01 to 0x08 are control codes inside the string):
| Form | Layout |
|---|---|
| simple file path | [0x01] file-path |
| volume | 0x01 0x01 drive letter (A–Z or a–z) file-path |
| UNC volume | 0x01 0x01 0x40 computer 0x03 shared folder 0x03 relative-path |
| relative to the workbook’s volume | 0x01 0x02 file-path |
| transfer protocol | 0x01 0x05 count transfer-path, where the count (0 to 255) equals the characters that follow, and the path begins ftp://, http:// or https:// |
| startup directory | 0x01 0x06 file-path |
| alternate startup directory | 0x01 0x07 file-path |
| library directory | 0x01 0x08 file-path |
| ole-link | path-string 0x03 path-string |
A file-path is a relative path (directory names separated by 0x03), or the
path in square brackets followed by a sheet name. A sheet name may not start or end
with 0x03, *, ?, an apostrophe, [,
], \, : or /, and its inner
characters may not include 0x03, *, ?, [,
], \, : or /. A path string is one
or more characters from 0x20–0x21, 0x23–0x29, 0x2B–0x2E, 0x30–0x39, 0x3B, 0x3D,
0x40–0x5B, 0x5D–0x7B, 0x7D–0xFFFF.
ExternSheet (0x0017) and XTI
The table that formulas index (2.4.106): cXTI (2) and that many XTI
structures (2.5.344), each 6 bytes: iSupBook (2, a zero-based index of a
SupBook record in the Globals substream), itabFirst (2, signed) and
itabLast (2, signed). For same-sheet, add-in, DDE and OLE links both
are -2 (no scope). Otherwise each is -2 (a workbook-level reference), -1 (a
sheet-level reference whose sheet was not found), or 0 or more: for a self-reference
the zero-based index of a BoundSheet8 record, and for an external workbook the index
into the SupBook’s rgst. The sheets must be worksheets or macro sheets.
-2 for itabLast may not be used if itabFirst is not -2.
ExternName (0x0023)
An external name, DDE or OLE item, or add-in function, belonging to the preceding
SupBook (2.4.105). The first 2 bytes are flags and the rest is a body:
| Bits | Field | Meaning |
|---|---|---|
| 0 | fBuiltIn | 1: a built-in external name; must be 0 for a DDE or OLE item or an add-in function. |
| 1 | fWantAdvise | 1: an automatic DDE or OLE item (0 for a manual one, a name or a UDF). |
| 2 | fWantPict | The linked data uses a picture format (0 for names and UDFs). |
| 3 | fOle | With fOleLink, selects the body (below). |
| 4 | fOleLink | 1: an OLE item; then fOle is 0. |
| 5–14 | cf | Signed cached clipboard format of a DDE or OLE item; 0 for names and UDFs. Values: -1 none, 0 text (lines end CR-LF, a null ends the data), 2 enhanced metafile, 5 CSV, 6 SYLK, 7 RTF, 8 BIFF8, 9 bitmap, 16 an application table, 20 BIFF3, 30 BIFF4, 36 metafile picture, 44 Unicode text (CR-LF lines, null end), 63 BIFF12. |
| 15 | fIcon | The linked data is shown as an icon (0 for names and DDE items and UDFs). |
SupBook cch | fOle | fOleLink | Body |
|---|---|---|---|
| not 0x3A01, not a DDE or OLE link | 0 | 0 | ExternDocName: an external defined name. |
| not 0x3A01, DDE or OLE link | 0 | 0 or 1 | ExternOleDdeLink: an OLE or DDE data item. |
| not 0x3A01, DDE or OLE link | 1 | 0 | ExternDdeLinkNoOper: a DDE data item. |
| 0x3A01 | 0 | 0 | AddinUdf: a function in an XLL or COM add-in. |
| Body | Layout |
|---|---|
| ExternDocName (2.5.106) | ixals (2: for a local name, the one-based index into the SupBook’s rgst of the sheet it is scoped to, else 0), reserved (2), extName (ShortXLUnicodeString, at most 255 characters), nameDefinition (an ExtNameParsedFormula). |
| ExternOleDdeLink (2.5.107) | lStgName (4: the OLE link storage is named “LNK” plus this value as 8 hexadecimal digits; 0 for DDE), linkName (ShortXLUnicodeString, at most 255 characters) and an optional moper (an MOper of current cell values), present when the record is longer than 6 bytes plus linkName. |
| ExternDdeLinkNoOper (2.5.105) | reserved (4, zero) and linkName (ShortXLUnicodeString) whose value must be “StdDocumentName”. |
| AddinUdf (2.5.1) | reserved (4, zero), udfName (ShortXLUnicodeString, at most 255 characters; for a COM add-in also the ProgID of the implementing object), cb (2) and cb unused bytes. |
XCT (0x0059) and CRN (0x005A)
XCT begins an external cell cache (2.4.352): ccrn (2, signed: its absolute
value is the number of CRN records that follow; negative means the most recent
SupBook’s link is not valid) and an optional itab (2, the zero-based index
into that SupBook’s rgst of the sheet the cache is for).
CRN holds the cached values of a run of cells in one row (2.4.65):
colLast (1), colFirst (1), row (2) and
crnOper, an array of colLast - colFirst + 1 SerAr values.
Lel (0x0205)
Records that a natural-language formula was lost because a supporting label was
deleted (2.4.154): stFormulaName, an XLUnicodeString of fewer than 252
characters naming the deleted label. Label ranges are in
LRng.
External data queries
DbOrParamQry (0x00DC) and DbQuery
DbOrParamQry (2.4.79) is a DbQuery, or a ParamQry when the record before it is an
SXString or another ParamQry. DbQuery (2.4.80) describes an external connection and
is followed by SXString records holding its strings and ParamQry records holding its
parameters, in this order: the command string (when fSql or
fWeb, cstQuery records), the ODBC connection string (when
fOdbcConn, cstOdbcConn), the Web post string (when
fWeb, cstWebPost), then cparams pairs of an
SXString (the parameter name) and a ParamQry, then the server-fields SQL (when
fSqlSav, cstSQLSav). Each SXString holds at most 255
characters.
| Bits or offset | Field | Meaning |
|---|---|---|
| bits 0–2 | dbt | 1 ODBC, 2 DAO record set, 4 Web query, 5 OLE DB, 6 text query, 7 ADO. |
| 3 | fOdbcConn | The source is ODBC (1 if dbt is 1). |
| 4 | fSql | There is a database command string (0 if fWeb). |
| 5 | fSqlSav | There is a SQL string for server-based fields. |
| 6 | fWeb | There is a Web query URL (1 if dbt is 4). |
| 7 | fSavePwd | 1: the password is kept in the ODBC connection string; 0: removed (ignored unless dbt is 1). |
| 8 | fTablesOnlyHTML | A Web query uses only HTML tables. |
| 9–15 | unused | |
| 2 | cparams | Number of SQL parameters (signed, 0 or more). |
| 2 | cstQuery | Number of SXString records of the command string. |
| 2 | cstWebPost | Of the Web post statement (0 if not fWeb). |
| 2 | cstSQLSav | Of the server-fields SQL (0 if not fSqlSav). |
| 2 | cstOdbcConn | Of the ODBC connection string (0 if not fOdbcConn). |
DBQueryExt (0x0803)
More about the connection (2.4.81), opening a group that continues with an
ExtString (the comma-separated table names, when fTableNames), a TxtQry
(when fTxtWiz) and coledb OleDbConn records.
| Size | Field | Meaning |
|---|---|---|
| 4 | frtHeaderOld | rt = 0x0803 (2), then 2 bytes. |
| 2 | dbt | DataSourceType: 1 ODBC (DBT_ODBC), 2 DAO, 4 Web (DBT_WEB), 5 OLE DB (DBT_OLEDB), 6 text (DBT_TXT), 7 ADO. |
| 2 | flags | Bit 0 fMaintain (connection stays open); 1 fNewQuery (1: never refreshed); 2 fImportXmlSource (1: XML source, 0: Web table; dbt 4 only); 3 fSPListSrc (Web based data provider); 4 fSPListReinitCache (reinitialise rather than refresh); 5–6 unused; 7 fSrcIsXml; bits 8–15 reserved. |
| variable | grbitDbt | A ConnGrbitDbt structure of connection properties for dbt. |
| 2 | flags | Bit 0 fTxtWiz (a text query; a TxtQry follows); 1 fTableNames; 2 reserved; bits 3–15 reserved. |
| 1 each | bVerDbqueryEdit, bVerDbqueryRefreshed, bVerDbqueryRefreshableMin | DataFunctionalityLevel (0 to 254, normally 0, 1 or 3): the level the connection was last edited with, last refreshed with, and the minimum needed to refresh it. The last two are ignored when fNewQuery is 1. |
| 1 + 2 | reserved4, reserved5 | Zero. |
| 2 | coledb | Number of OleDbConn records that follow (0 unless dbt is 5). |
| 2 | cstFuture | Size of rgbFutureBytes. |
| 2 | wRefreshInterval | Minutes between automatic refreshes; 0 means off. |
| 2 | wHtmlFmt | Web query formatting (dbt 4): 1 none, 2 rich text only, 3 full HTML. |
| 2 | cwParamFlags | Number of PBT items in rgPbt (one per ParamQry, in order). |
| variable | rgPbt, rgbFutureBytes | The PBT array, then bytes from later versions. |
OleDbConn (0x080A), ExtString and TxtQry
OleDbConn (2.4.186) holds an OLE DB connection string: frtHeaderOld (4,
rt = 0x080A), 2 bytes of flags (bit 0 fPasswd: the
password was stripped from the string; bit 1 fLocal: the main
connection string, not an alternate; 14 bits reserved), cst (2, above
0: the number of ExtString records that follow, whose strings are joined) and 4
reserved bytes. ExtString (2.4.108; its
frtHeaderOld.rt is 2052, 0x0804) is
frtHeaderOld (4),string (XLUnicodeString) and, if
string plus header is less than 12 bytes, padding to 12 bytes.
TxtQry (2.4.330) describes a text import:
rt (2, 0x0805), reserved (2), then 4 bytes of flags
from bit 0: fFile (always 1), fDelimited (1 delimited, 0
fixed width), iCpid (2 bits: 0 Macintosh, 1 Windows ANSI, 2 MS-DOS PC-8),
fPromptForFile (ask for a file name on refresh), iCpidNew
(10 bits, application hint), fUseNewiCpid (use iCpidNew
when it is above 2), 16 bits unused; then rowStartAt (4, signed: the
first source row); flags fTab, fSpace, fComma,
fSemiColon, fCustom (the delimiter characters),
fConsecutive (consecutive delimiters count as one),
iTextDelm (2 bits: 0 quotation mark, 1 apostrophe, 2 none),
chCustom (2, the custom delimiter in Unicode), 1 unused byte;
itwf (4, number of fields, 1 to 256), chDecimal (1),
chThousSep (1), rgtxtwf (an array of itwf
TxtWf field descriptions) and rgchFile (XLUnicodeString: the source file
name). The exact bit positions follow the order of the spec’s field list.
DConn (0x0876)
One data connection of the workbook (2.4.84); its fields in order:
frtHeaderOld (4, rt = 0x0876),
dbt (2, DataSourceType), 2 bytes of flags
(fSavePwd, fTablesOnlyHtml, fTableNames,
fDeleted, fStandAlone (the workbook uses the connection),
fAlwaysUseConnectionFile, fBackgroundQuery,
fRefreshOnLoad, fSaveData, 7 bits unused), cParams
(2, 0 unless fStandAlone), reserved (2), 2 bytes of flags
(fMaintain, fNewQuery, fImportXmlSource,
fSPListSrc, fSPListReinitCache, 2 unused,
fSrcIsXml, 8 reserved), grbitDbt (ConnGrbitDbt), three
DataFunctionalityLevel bytes, wRefreshInterval (2),
wHtmlFmt (2: 1 none, 2 rich text, 3 full HTML), rcc (4, the
reconnection method: 0 decided by the application, 1 reconnect and use updated
connection information if available, 2 never reconnect), credMethod (1: 0
integrated authentication, 1 no credentials, 2 stored credentials, 3 prompt),
reserved (1); then the DConnUnicodeStringSegmented strings
rgchSourceDataFile, rgchSourceConnectionFile (the Office
data connection file), rgchConnectionName,
rgchConnectionDesc, rgchSSOApplicationID and
tableNames (a comma-separated list of at most 255 characters, present
when fTableNames); params (cParams
DConnParameter structures); connection (by dbt: 1 a
segmented connection string, 4 a DConnConnectionWeb, 5 a DConnConnectionOleDb, 6 a
TxtQry, otherwise absent); rgbSQL (the database command or, for OLE DB,
as set by dbost), rgbSQLSav (the original unparameterised
ODBC SQL), rgbEditWebPage (the URL for editing a Web query), each a
DConnStringSequence; and id (a DConnId naming the object the connection
belongs to). The inner layouts of the DConn* structures are not given on this page.
DConRef, DConName, DConBin
The consolidation source records are on worksheet settings.
Query tables
Qsi (0x01AD)
A query table (2.4.208), opening a group of the following records. There is a
hidden defined name, a Lbl with fHidden 1, equal to rgchName
with spaces changed to underscores, whose formula is one PtgArea3d for the table’s
cells.
| Bits or offset | Field | Meaning |
|---|---|---|
| bit 0 | fTitles | The first row holds column titles. |
| 1 | fRowNums | The first column shows row numbers. |
| 2 | fDisableRefresh | 1: cannot be refreshed. |
| 3 | fAsync | Refresh in the background (must be 1 if fNewAsync is). |
| 4 | fNewAsync | 1: the first background refresh was not finished when saved. |
| 5 | fAutoRefresh | Refresh when the document opens. |
| 6 | fShrink | With fewer rows on refresh: 0 clear unused cells, 1 delete them (0 if fOverwrite). |
| 7 | fFill | Fill down formulas in adjacent columns on refresh. |
| 8 | fAutoFormat | Unused; should be 0. |
| 9 | fSaveData | Keep the data in the sheet when saving. |
| 10 | fDisableEdit | 1: locked. |
| 11–12 | unused1 | |
| 13 | fOverwrite | With more rows on refresh: 0 insert new cells, 1 overwrite existing ones. |
| 14–15 | unused2 | |
| 2 | itblAutoFmt | An AutoFmt8, at most 0x0014. |
| 2 | flags | Bits 0–5: whether the AutoFormat style sets numbers (fibitAtrNum), fonts (Fnt), alignment (Alc), borders (Bdr), patterns (Pat) and protection (Prot); 10 bits unused. |
| 4 | reserved | Zero. |
| variable | rgchName | XLUnicodeString, under 255 characters: the name of the query table. |
| 2 | unused4 |
Qsir (0x0806)
Formatting and persistence of a query table (2.4.210); it opens a group of
cQsif Qsif records. frtRefHeaderU (12, rt =
0x0806, fFrtRef 1, the range of the table);
cbQsirSaved (2, the bytes of the record not counting the header and the
two size fields); cbQsifSaved (2, the size of each following Qsif); 4
bytes of flags: fPersist (sorting, filtering and layout are kept on
refresh), fPersistSort, fPersistAutoFilter (both equal to
fPersist), 16 bits reserved, reserved, fSorted,
fCaseSensSort, fHdrRowSort, fidWrapped
(idFieldNext passed 0xFFFF), reserved, fTitlesOld,
wVerBeforeRefreshAlert (5 bits, at most 0x0C: the oldest application
version expected to refresh without errors; values 0x08 to 0x0C, 0x0E and 0x0F name
application versions), reserved; iSortCustom (4, the custom list that
sets the sort order), cQsif (4), cpstDeleted (4, the number
of names in rgbTitle), idFieldNext (4, from 1 to 0xFFFF),
ccolExtraLeft and ccolExtraRight (2 each, columns without
external data added at either end, which sorts include), idList (4,
present when verLastXLSaved of the BOF is 3 or more: the
idList of the linked table) and rgbTitle
(cpstDeleted XLUnicodeStrings of 1 to 255 characters: database fields
not in the query table).
Qsif (0x0807)
One query table field (2.4.209): frtHeaderOld (4, rt =
0x0807); 4 bytes of flags: fUserIns (1: inserted, not from
the source), fFillDown, fSortDes (descending when in a sort
range), iSortKey (8 bits: 0 not a sort key, 1 to 3 the first to third sort
key of the Sort record), fRowNums, reserved, fSorted, 2
reserved, fClipped (outside the sheet bounds; 0 if fUserIns),
15 reserved; idField (4, 1 to 0xFFFF); idList (4, present
when verLastXLSaved is 4 or more); and rgbTitle
(XLUnicodeString, up to 255 characters).
QsiSXTag (0x0802)
Names the query table or PivotTable view that a following group describes (2.4.211):
frtHeaderOld (4, rt = 0x0802);
fSx (2: 0 a query table whose rgchName equals
stName, 1 a PivotTable view whose SxView stName equals it;
otherwise the group is ignored); flags fEnableRefresh,
fInvalid (the cache records are invalid; must be 1 when fSx
is 1 and the PivotCache level is 3 or more), fTensorEx (an OLAP
PivotTable view; 0 when fSx is 0) and 13 reserved bits;
dwQsiFuture (4, more option flags); then
verSxLastUpdated, verSxUpdatableMin,
obCchName, reserved2 and stName (the
offsets and sizes of these tail fields are not reproduced here).
Real-time data and MDX metadata
RealTimeData (0x0813)
One real-time data topic (2.4.214): frtHeader (12, rt =
0x0813), ichSamePrefix (4: the number of leading characters
shared with the previous record’s topic; 0 for the first), stTopic (an
XLUnicodeStringSegmentedRTD: the first part is the ProgID of the RTD server, the
second the server name or empty for a local one, the rest make up a unique topic),
rtdOper (an RTDOper with the returned data) and rgRTDE (an
array of 6-byte RTDEItem, one per cell; the count is the size of the record and its
ContinueFrt records, less 16, less the sizes of stTopic and
rtdOper, divided by 6).
MDX metadata
Cube function results in cells reference metadata stored in these future records,
each beginning with an frtHeader (12 bytes).
| Type | Record | Fields |
|---|---|---|
0x088A | MDB (2.4.161) | rgmdir: an array of MDir structures, a block of metadata records shared by every cell that references MDX metadata. |
0x0884 | MDTInfo (2.4.162) | 4 bytes of flags then stName (an LPWideString: the name of the metadata type). The flags say when the metadata is kept, from bit 0: fGhostRow (applied to cells in newly inserted rows), fGhostCol, fEdit (kept when the cell is edited), fDelete, fCopy (copied with the cell; 1 if any paste flag is 1), fPasteAll, fPasteFormulas, fPasteValues, fPasteFormats, fPasteComments, fPasteDataValidation, fPasteBorders, fPasteColWidths, fPasteNumberFormats, fMerge (kept by the top-left cell when merged), fSplitFirst, fSplitAll (takes precedence), fRowColShift, fClearAll, fClearFormats, fClearContents, fClearComments, fAssign (kept when a formula assigns a value); then 5 unused bits and fCoerce, fAdjust, fCellMeta (1 cell metadata, 0 value metadata) and 1 unused bit. |
0x0885 | MDXStr (2.4.166) | st: an LPWideString, a string shared by the MDX records; the others refer to it by an MDXStrIndex. |
0x0886 | MDXTuple (2.4.167) | istrConnName (4, MDXStrIndex of the connection name), tfnSrc (1: TFNCUBEMEMBER 1, TFNCUBEVALUE 2 or TFNCUBERANKEDMEMBER 5), cistr (4, signed, 0 or more and at most the number of MDXStr records) and rgistr (that many 4-byte indexes of unique-name strings). |
0x0887 | MDXSet (2.4.165) | istrConnName (4), tfnSrc (1: TFNCUBESET 3 or TFNCUBESETCOUNT 4), sso (1, the sort order: 0 none, 1 ascending, 2 descending, 3 ascending by caption, 4 descending by caption, 5 ascending by natural order, 6 descending by natural order), istrSetDef (4, the set definition string), cistr (4) and rgistr. |
0x0888 | MDXProp (2.4.164) | istrConnName (4), tfnSrc (1, TFNCUBEMEMBERPROPERTY 6), istrMbr (4, the unique name of the member) and istrProp (4, the property name). |
0x0889 | MDXKPI (2.4.163) | istrConnName (4), tfnSrc (1, TFNCUBEKPIPROPERTY 7), kpiprop (1: 1 value, 2 goal, 3 status, 4 trend, 5 weight, 6 current time member), istrKPIName (4, the unique name) and istrMbrKPI (4, the KPI name). |
The Tag_Fn_MDX values name the cube function that produced the metadata:
CUBEMEMBER 1, CUBEVALUE 2, CUBESET 3, CUBESETCOUNT 4, CUBERANKEDMEMBER 5,
CUBEMEMBERPROPERTY 6, CUBEKPIPROPERTY 7. The record numbers in the first column are each record’s
required frtHeader.rt.
Source
[MS-XLS] Excel Binary File Format (.xls) Structure, v20250819, sections 2.4.4, 2.4.65, 2.4.79–2.4.84, 2.4.105–2.4.108, 2.4.150, 2.4.154, 2.4.161–2.4.167, 2.4.176, 2.4.178, 2.4.186, 2.4.208–2.4.211, 2.4.214, 2.4.271, 2.4.330, 2.4.352 and 2.5.1, 2.5.63–2.5.64, 2.5.105–2.5.107, 2.5.169, 2.5.233, 2.5.267, 2.5.277, 2.5.344. Not covered here: the inner layouts of ConnGrbitDbt, PBT, ParamQry, DConn’s sub-structures, TxtWf, RTDOper, MDir and SerAr.