4.10 Internal and External References
External and 3D References
External and 3D references are represented in a formula by the tokens tRef3d (
3.9.15) or tArea3d (
3.9.16). These 
tokens contain an index to an EXTERNSHEET record located in the own Local Link Table and indexes to the first and 
last referenced sheet.
For 3D references, the tokens contain a negative EXTERNSHEET index, indicating a reference into the own workbook. 
The absolute value is the one-based index of the EXTERNSHEET record that contains the name of the first sheet. The 
tokens additionally contain absolute indexes of the first and last referenced sheet. These indexes are independent of the 
EXTERNSHEET record list. If the referenced sheets do not exist anymore, these indexes contain the value –1 (3D 
reference to a deleted sheet), and an EXTERNSHEET record with the special name “<04
H
>” (own document) is used.
Each external reference contains the positive one-based index to an EXTERNSHEET record containing the URL of the 
external document and the name of the sheet used. The sheet index fields of the tokens are not used.
Example: A document with 7 sheets (named from “Sheet1” to “Sheet7”) contains on “Sheet1” the formulas
=Sheet2!A1,
=Sheet1!A1,
=SUM(Sheet4:Sheet6!A1:B3),
=SUM([example.xls]ExtSheet1!A1:B2) (contents: A1=1.11, B1=2.22, A2=3.33, B2=4.44),
=[example.xls]ExtSheet3!A1 (contents: “ABCD”), and
=Sheet8!A1.
The Local Link Table of Sheet1 contains 7 EXTERNSHEET Sheet Blocks:
EXTERNCOUNT Number of EXTERNSHEET records = 7
EXTERNSHEET 1 1 Name = “<03
H
>Sheet2”
EXTERNSHEET 2 2 Name = “<02
H
>” (own sheet, 
2.5.9)
EXTERNSHEET 3 3 Name = “<03
H
>Sheet4”
EXTERNSHEET 4 4 Name = “<03
H
>Sheet6”
EXTERNSHEET 5 5 Name = “<01
H
>[example.xls]ExtSheet1”
XCT
Number of CRN = 2
CRN 0
Cell range = A1:B1, contents = 1.11, 2.22
CRN 1
Cell range = A2:B2, contents = 3.33, 4.44
EXTERNSHEET 6 6 Name = “<01
H
>[example.xls]ExtSheet3”
XCT
Number of CRN = 1
CRN 0
Cell range = A1, contents = “ABCD”
EXTERNSHEET 7 7 Name = “<04
H
>” (own workbook, 
2.5.9)
Inside of the first formula the cell reference is represented by the token tRef3d (
3.9.15). The third formula 
contains the token tArea3d (
3.9.16). The last formula contains a tRef3d token which refers to the last 
EXTERNSHEET record and contains –1 as sheet indexes.
101
Convert pdf to html online for - Convert PDF to html files in C#.net, ASP.NET MVC, WinForms, WPF application
How to Convert PDF to HTML Webpage with C# PDF Conversion SDK
convert pdf to web link; best website to convert pdf to word
Convert pdf to html online for - VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.net, ASP.NET MVC, WinForms, WPF application
PDF to HTML Webpage Converter SDK for VB.NET PDF to HTML Conversion
best pdf to html converter online; convert pdf to html5
4 Worksheet/Workbook Stream
Internal Names
All internal names are stored in the Global Link Table in a list of DEFINEDNAME records (
5.33). There exist two 
types of internal names: global names which are valid in the whole workbook and local names which are attached to a 
specific sheet. For instance the local name “MyCell” of the sheet “Sheet1” can be used from everywhere in the 
workbook by entering =Sheet1!MyCell. Each DEFINEDNAME record contains the name itself and a one-based 
index to the preceding EXTERNSHEET records to indicate a local name, or the index zero to indicate a global name.
Inside of a formula a global name or a local name of the own sheet is represented by the token tName (
3.9.1) with a 
one-based index to the DEFINEDNAME record list. Local names from other sheets (with explicitly denoted sheet name) 
are represented by the token tNameX (
3.9.14) with an index to a special EXTERNSHEET record and an index to the 
DEFINEDNAME record list.
In defined names, only 3D references are allowed. The special syntax =!<reference> allowed in defined names only 
(<reference> being a 2D cell reference or range reference) makes it possible to refer to cells or ranges in the same 
sheet that contains the formula cell with the defined name.
Example: A document contains the global name “GlobalName”, and the local names “Sheet1!LocalName” and 
“Sheet2!LocalName”. In “Sheet1” there are the formulas
=GlobalName,
=LocalName,
=Sheet1!LocalName, and
=Sheet2!LocalName.
The defined name “GlobalName” contains the formula
=!$A$1.
The Global Link Table (together with the list of DEFINEDNAME records) contains the following records:
EXTERNCOUNT
Number of EXTERNSHEET records = 3
EXTERNSHEET 1
Name = “<00
H
>” (Current sheet for defined names, 
2.5.9)
EXTERNSHEET 2
Name = “<03
H
>Sheet1”
EXTERNSHEET 3
Name = “<03
H
>Sheet2”
DEFINEDNAME 1
Name = “GlobalName”, EXTERNSHEET = 0 (Global)
Formula = tRef3d token with EXTERNSHEET = –1 (negative 
one-based index to EXTERNSHEET 1, 
3.9.15)
DEFINEDNAME 2
Name = “LocalName”, EXTERNSHEET = 2 (Sheet1)
DEFINEDNAME 3
Name = “LocalName”, EXTERNSHEET = 3 (Sheet2)
The Local Link Table of Sheet1 contains the following records:
EXTERNCOUNT
Number of EXTERNSHEET records = 1
EXTERNSHEET 1
Name = “<04
H
>” (Unspecified sheet in own workbook, 
2.5.9)
The two former formulas contain a tNameV token each. The token in the first formula refers to DEFIN-
EDNAME 1 and the token in the second formula to DEFINEDNAME 2.
The two latter formulas contain a tNameXV token each. Both contain a reference to EXTERNSHEET 1 in the 
Local Link Table. The token in the third formula refers to DEFINEDNAME 2 and the last formula refers to 
DEFINEDNAME 3.
102
Online Convert PDF to HTML5 files. Best free online PDF html
Online PDF to HTML5 Converter. Download Free Trial. Convert a PDF file to HTML. Just upload your file by clicking on the blue button
convert pdf to web; convert pdf to web page
VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
how to convert pdf to html code; how to convert pdf into html code
4.10 Internal and External References
External Names
In Excel, formulas can use defined names located in another workbook, called “external names”. The definitions for 
external names are stored in a combination of EXTERNSHEET Sheet Blocks and EXTERNSHEET Document Blocks
The EXTERNSHEET Sheet Blocks contain the source document and sheet names the external names are located in, and 
the cached cell contents. Following a single EXTERNSHEET Document Block that only contains the source document 
name and the external name definitions themselves. This is repeated for each external document.
Inside of a formula an external name is represented by the token tNameX (
3.9.14). It contains the one-based index to 
the EXTERNSHEET record (of the EXTERNSHEET Document Block) and a one-based index to an EXTERNALNAME 
record inside this block. Each EXTERNALNAME record refers to a preceding EXTERNSHEET record containing the 
sheet name.
Example: A document contains the formulas
=example.xls!GlobalName (location: ExtSheet3!C33; contents: 33),
=[example.xls]ExtSheet3!LocalName (location: ExtSheet1!B22; contents: “ABCD”),
=[example.xls]ExtSheet1!LocalName (location: ExtSheet1!A11; contents: 11), and
=another_example.xls!GlobalName (location: ExtSheet2!B2; contents: 2).
The Local Link Table of Sheet1 contains two EXTERNSHEET Sheet Blocks followed by an EXTERNSHEET 
Document Block for the document “example.xls”; and one EXTERNSHEET Sheet Block and one EXTERN-
SHEET Document Block for the document “another_example.xls”:
EXTERNCOUNT
Number of EXTERNSHEET records = 5
EXTERNSHEET 1
Name = “<01
H
>[example.xls]ExtSheet1”
XCT
Number of CRN = 2
CRN 0
Cell range = A11, contents = 11
CRN 1
Cell range = B22, contents = “ABCD”
EXTERNSHEET 2
Name = “<01
H
>[example.xls]ExtSheet3”
XCT
Number of CRN = 1
CRN 0
Cell range = C33, contents = 33
EXTERNSHEET 3
Name = “<01
H
>example.xls”
EXTERNALNAME 1 1 Name = “GlobalName”, EXTERNSHEET = 0 (global),
Formula = “=[example.xls]ExtSheet3!C33”
EXTERNALNAME 2 2 Name = “LocalName”, EXTERNSHEET = 2,
Formula = “=[example.xls]ExtSheet1!B22”
EXTERNALNAME 3 3 Name = “LocalName”, EXTERNSHEET = 1,
Formula = “=[example.xls]ExtSheet1!A11”
EXTERNSHEET 4
Name = “<01
H
>[another_example.xls]ExtSheet2”
XCT
Number of CRN = 1
CRN 0
Cell range = B2, contents = 2
EXTERNSHEET 5
Name = “<01
H
>another_example.xls”
EXTERNALNAME 1 1 Name = “GlobalName”, EXTERNSHEET = 0 (global),
Formula = “=[another_example.xls]ExtSheet2!B2”
All formulas in the example above contain the token tNameXV.
The tokens of the first three formulas refer to EXTERNSHEET 3 (the EXTERNSHEET Document Block of 
“example.xls”). Each token refers to the respective EXTERNALNAME record following this EXTERNSHEET 
record. For instance, the third formula refers to EXTERNALNAME 3 which contains the name “LocalName” 
and refers to EXTERNSHEET 1. EXTERNSHEET 1 is used to obtain the sheet name of the external name. The 
name is completed to “[example.xls]ExtSheet1!LocalName”.
The tNameXV token of the last formula refers to EXTERNSHEET 5 (the EXTERNSHEET Document Block of 
“another_example.xls”). Because EXTERNSHEET 5 describes a global external name, the name is directly 
completed to “another_example.xls!GlobalName”.
103
C# HTML5 PDF Viewer SDK to convert and export PDF document to
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
embed pdf into web page; export pdf to html
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
converting pdf into html; adding pdf to html page
4 Worksheet/Workbook Stream
Add-In Functions
If a worksheet uses add-in functions, a special EXTERNALNAME record containing the byte sequence 01
3A
H
will 
occur. It is followed by the names of all used add-in functions, each inside of an EXTERNALNAME record.
Example: A document contains the formulas =ISODD(1) and =ISEVEN(1).
The Local Link Table of Sheet1 contains an EXTERNSHEET Document Block with the special EXTERN-
SHEET record for add-in functions:
EXTERNCOUNT
Number of EXTERNSHEET records = 1
EXTERNSHEET 1
Name = “<3A
H
>” (add-in)
EXTERNALNAME 1 1 Name = “ISODD”
EXTERNALNAME 2 2 Name = “ISEVEN”
The add-in function names are represented by tNameXR tokens in the formula, here referring to EXTERN-
SHEET 1 and to the respective EXTERNALNAME record. The token is the first argument of the 
EXTERN.CALL function, which invokes the call of the add-in function.
DDE Links, OLE Links
DDE links and OLE links expect the name of the server application (DDE) or the class name (OLE) and the name of a 
source document. These items are encoded in an EXTERNSHEET record. It is followed by EXTERNALNAME records 
with additional data of the links. An EXTERNALNAME record contains the item (data source range) or the identifier of 
the OLE object data storage. Inside a formula, a DDE link or OLE data link is represented by the token tNameXV 
(
3.9.14). An OLE object link contains a tNameX token in its OBJ record.
Example: A document contains a DDE link and an OLE data link to the range A1:B2 of Sheet1 in the Excel 
document “D:\example.xls” and a linked OLE object to the bitmap file “D:\example.bmp”.
The Local Link Table of Sheet1 contains two EXTERNSHEET Document Blocks, one for the DDE link, one for 
the OLE data link, and one for the linked OLE object:
EXTERNCOUNT
Number of EXTERNSHEET records = 1
EXTERNSHEET 1
Name = “excel<03
H
>D:\[example.xls]Sheet1”
(Server = “excel”; Topic = “D:\[example.xls]Sheet1”)
EXTERNALNAME 1 1 Type = DDE link, representing the “StdDocumentName” 
identifier
Item = “StdDocumentName”
EXTERNALNAME 2 2 Type = DDE link
Item = “A1:B2”
EXTERNSHEET 2
Name = “Excel.Sheet.5<03
H
>D:\example.xls”
(Server = “Excel.Sheet.5”; Topic = “D:\example.xls”)
EXTERNALNAME 1 1 Type = OLE link
Item = “!Sheet1!A1:B2”
EXTERNSHEET 3
Name = “Package<03
H
>D:\example.bmp”
(Class name = “Package”; Document = “D:\example.bmp”)
EXTERNALNAME 1 1 Type = OLE link
Storage = 00012345
H
(storage name = “LNK00012345”)
104
VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
Resize converted Tiff image using VB.NET. Convert PDF file to Tiff and jpeg in ASPX webpage online. Online source code for VB.NET class.
convert pdf to html5 open source; embed pdf into html
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
convert pdf to web pages; pdf to html conversion
4.10 Internal and External References
4.10.3 References in BIFF8
The main data of all types of references is stored in the Link Table inside the Workbook Globals Substream (
4.2.5). All 
formulas use only indexes for specific references. The Link Table itself is optional and occurs only, if there are any 
references in the document.
Common structure of the Link Table, BIFF8:
●● EXTERNALBOOK Blocks
Settings for a referenced document
● EXTERNSHEET
5.41
○○ DEFINEDNAME
5.33
Each referenced document is represented by an EXTERNALBOOK Block. It starts with an EXTERNALBOOK record. It 
contains the name of the document and the names of its sheets. It is followed by additional records that allow to deref-
erence the data in the document. After the last EXTERNALBOOK Block occurs only one EXTERNSHEET record. It 
contains a list with indexes to the SUPBOOKs for each used reference anywhere in the document. Formulas use indexes 
into this EXTERNSHEET list.
Example: A document contains (among other references) the two formulas
=[example.xls]ExtSheet2!A1 and
=[example.xls]ExtSheet1!A1.
EXTERNALBOOK 
Block 0
Any content
EXTERNALBOOK 
Block 1
Document = “example.xls”
Sheet 0 = “ExtSheet1”
Sheet 1 = “ExtSheet2”
Sheet 2 = “ExtSheet3”
EXTERNALBOOK 
Block 2
Any content
EXTERNSHEET
REF 0 = any reference
REF 1 = {EXTERNALBOOK = 1, sheet range = 1…1}
REF 2 = any reference
REF 3 = {EXTERNALBOOK = 1, sheet range = 0…0}
REF 4 = any reference
The first formula uses REF 1 in the EXTERNSHEET record. REF 1 refers to EXTERNALBOOK Block 1 and 
sheet range 1…1. This means, the document “example.xls” is used (document of EXTERNALBOOK Block 1) 
and the name of the sheet is “ExtSheet2” (sheet 1 of EXTERNALBOOK Block 1). In the same way, the second 
formula uses REF 3 in the EXTERNSHEET record. All list entries inside of the EXTERNSHEET record are 
unique. For instance all formulas in the workbook referring to sheet “ExtSheet2” of the document “example.xls” 
use REF 1. All other EXTERNALBOOK Blocks and REFs are placeholders for other references in this example.
Common structure of an EXTERNALBOOK Block, BIFF8:
● EXTERNALBOOK
5.38
○○ EXTERNALNAME
5.39
○○
XCT
5.114
●● CRN
5.23
The EXTERNALBOOK Block may contain cached values of cells in the referenced document. These values are stored in 
several XCT and CRN records.
105
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
how to convert pdf file to html; online pdf to html converter
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
NET library to batch convert PDF files to jpg image files. Turn multiple pages PDF into single jpg files respectively online.
convert fillable pdf to html form; convert pdf into html code
4 Worksheet/Workbook Stream
External and 3D References
The EXTERNALBOOK for the own document has a special format: It contains only the number of all sheets and the 
byte sequence 01
H
04
H
instead of the sheet names. The sheet range indexes in the EXTERNSHEET record refer to the 
position of the sheets (zero-based). If a referenced sheet does not exist anymore, the sheet index –1 will occur (deleted 
3D reference).
Example: A document with 7 sheets (named from “Sheet1” to “Sheet7”) contains the formulas
=Sheet2!A1,
=SUM(Sheet4:Sheet6!A1:B3),
=SUM([example.xls]ExtSheet1!A1:B2) (contents: A1=1.11, B1=2.22, A2=3.33, B2=4.44),
=[example.xls]ExtSheet3!A1 (contents: “ABCD”), and
=Sheet8!A1.
EXTERNALBOOK 0 0 Number of sheets: 7
01
04
H
(own workbook)
EXTERNALBOOK 1 1 Number of sheets: 3
Document = “example.xls”
Sheet 0 = “ExtSheet1”
Sheet 1 = “ExtSheet2”
Sheet 2 = “ExtSheet3”
XCT
Number of CRN = 2, sheet = 0 (ExtSheet1)
CRN 0
Cell range = A1:B1, contents = 1.11, 2.22
CRN 1
Cell range = A2:B2, contents = 3.33, 4.44
XCT
Number of CRN = 1, sheet = 2 (ExtSheet3)
CRN 0
Cell range = A1, contents = “ABCD”
EXTERNSHEET
REF 0 = {EXTERNALBOOK = 0, sheet range = 1…1}
REF 1 = {EXTERNALBOOK = 0, sheet range = 3…5}
REF 2 = {EXTERNALBOOK = 1, sheet range = 0…0}
REF 3 = {EXTERNALBOOK = 1, sheet range = 1…1}
REF 4 = {EXTERNALBOOK = 0, sheet range = –1…–1}
Inside of the first formula the cell reference is represented by the token tRef3d (
3.9.15). The second formula 
contains the token tArea3d (
3.9.16).
106
4.10 Internal and External References
Internal Names
All internal names are stored in a list of DEFINEDNAME records (
5.33) that follows the EXTERNSHEET record. 
There exist two types of internal names: global names which are valid in the whole workbook and local names which are 
attached to a specific sheet. For instance the local name “MyCell” of the sheet “Sheet1” can be used from everywhere in 
the workbook by entering =Sheet1!MyCell. Each DEFINEDNAME record contains the name itself and a one-
based sheet index. The index zero indicates a global name. If the document contains local names, a special REF entry 
will be created in the EXTERNSHEET record. It contains the index to the internal EXTERNALBOOK and the sheet 
range –2…–2.
Inside of a formula a global name or a local name of the own sheet is represented by the token tName (
3.9.1) with a 
one-based index to the DEFINEDNAME record list. Local names from other sheets (with explicitly denoted sheet name) 
are represented by the token tNameX (
3.9.14) with an index to the special REF entry of the EXTERNSHEET record 
and an index to the DEFINEDNAME record list.
In defined names, only 3D references are allowed. The special syntax =!<reference> allowed in defined names only 
(<reference> being a 2D cell reference or range reference) makes it possible to refer to cells or ranges in the same 
sheet that contains the formula cell with the defined name.
Example for internal names: A document contains the global name “GlobalName”, and the local names “Sheet1!
LocalName” and “Sheet2!LocalName”. In “Sheet1” there are the formulas
=GlobalName,
=LocalName,
=Sheet1!LocalName, and
=Sheet2!LocalName.
The defined name “GlobalName” contains the formula
=!$A$1.
EXTERNALBOOK 0 0 Number of sheets: 3
01
04
H
(own workbook)
EXTERNALBOOK 1 1 Number of sheets: 0
Document = “<00
H
>” (Current sheet for defined names, 
2.5.9)
EXTERNSHEET
REF 0 = {EXTERNALBOOK = 0, sheet range = 0…0}
REF 1 = { EXTERNALBOOK = 0, sheet range = –2…–2}
REF 2 = { EXTERNALBOOK = 1, sheet range = –2…–2}
DEFINEDNAME 1
Name = “GlobalName”, sheet (one-based) = 0 (Global)
Formula = tRef3d token to REF 2 (
3.9.15)
DEFINEDNAME 2
Name = “LocalName”, sheet (one-based) = 1 (Sheet1)
DEFINEDNAME 3
Name = “LocalName”, sheet (one-based) = 2 (Sheet2)
The first formula in the example above contains the token tNameV referring to DEFINEDNAME 1 and the 
second formula the same token referring to DEFINEDNAME 2.
The two latter formulas contain the token tNameXV with a reference to REF 1 in the EXTERNSHEET record. 
REF 1 refers to EXTERNALBOOK 0 with the special sheet indexes for defined names. The token of the third 
formula refers to DEFINEDNAME 2 and the token of the last formula refers to DEFINEDNAME 3.
107
4 Worksheet/Workbook Stream
External Names
In Excel, formulas can use defined names located in another workbook, called “external names”. In this case for each 
name an EXTERNALNAME record (
5.39) occurs after the EXTERNALBOOK record. The EXTERNALNAME 
record contains the name itself and the one-based index to the sheet name of the EXTERNALBOOK record. Again the 
index zero indicates a global name. If an EXTERNALBOOK contains external names, a special REF entry will be 
created in the EXTERNSHEET record. It contains the index to the EXTERNALBOOK and the sheet range –2…–2.
Inside of a formula an external name is represented by the token tNameX (
3.9.14). It contains the index to the special 
REF entry inside of the EXTERNSHEET record and the index to an EXTERNALNAME record (one-based).
Example: A document contains the formulas
=example.xls!GlobalName (location: ExtSheet3!C33; contents: 33),
=[example.xls]ExtSheet3!LocalName (location: ExtSheet1!B22; contents: “ABCD”), and
=[example.xls]ExtSheet1!LocalName (location: ExtSheet1!A11; contents: 11).
EXTERNALBOOK 0 0 Document = “example.xls”
Sheet 0 = “ExtSheet1”
Sheet 1 = “ExtSheet2”
Sheet 2 = “ExtSheet3”
EXTERNALNAME 1 1 Name = “GlobalName”, sheet (one-based) = 0 (Global),
Formula = “=[example.xls]ExtSheet3!C33”
EXTERNALNAME 2 2 Name = “LocalName”, sheet (one-based) = 3 (ExtSheet3),
Formula = “=[example.xls]ExtSheet1!B22”
EXTERNALNAME 3 3 Name = “LocalName”, sheet (one-based) = 1 (ExtSheet1),
Formula = “=[example.xls]ExtSheet1!A11”
XCT
Number of CRN = 2, sheet = 0 (ExtSheet1)
CRN 0
Cell range = A11, contents = 11
CRN 1
Cell range = B22, contents = “ABCD”
XCT
Number of CRN = 1, sheet = 2 (ExtSheet3)
CRN 0
Cell range = C33, contents = 33
EXTERNSHEET
REF 0 = {EXTERNALBOOK = 0, sheet range = –2…–2}
All formulas in the example above contain the token tNameXV with a reference to REF 0 in the EXTERN-
SHEET record. REF 0 refers to EXTERNALBOOK 0 with the special sheet indexes for defined names. 
Therefore the EXTERNALNAME records of EXTERNALBOOK 0 are used.
The token of the first formula refers to EXTERNALNAME 1, the token of the second formula refers to EXTER-
NALNAME 2, and the token of the last formula refers to EXTERNALNAME 3.
Add-In Functions
If a workbook uses add-in functions, a special EXTERNALBOOK containing the byte sequence 01
3A
H
will occur. It 
is followed by the names of all used add-in functions, each inside of an EXTERNALNAME record. A special REF entry 
with the sheet range –2…–2 will be inserted into the EXTERNSHEET reference list.
Example: A document contains the formulas =ISODD(1) and =ISEVEN(1).
EXTERNALBOOK 0 0 01
3A
H
(add-in)
EXTERNALNAME 1 1 Name = “ISODD”
EXTERNALNAME 2 2 Name = “ISEVEN”
EXTERNSHEET
REF 0 = {EXTERNALBOOK = 0, sheet range = –2…–2}
The add-in function names are represented by tNameXR tokens in the formula, here referring to REF 0 and to 
the respective EXTERNALNAME record. The token is the first argument of the EXTERN.CALL function, 
which invokes the call of the add-in function.
108
4.10 Internal and External References
DDE Links, OLE Links
DDE links and OLE links expect the name of the server application (DDE) or the class name (OLE) and the name of a 
source document. These items are encoded in an EXTERNSHEET record. It is followed by EXTERNALNAME records 
with additional data of the links. An EXTERNALNAME record contains the item (data source range) or the identifier of 
the OLE object data storage. Inside a formula, a DDE link or OLE data link is represented by the token tNameXV 
(
3.9.14). An OLE object link contains a tNameX token in its OBJ record.
Example: A document contains a DDE link and an OLE data link to the range A1:B2 of Sheet1 in the Excel 
document “D:\example.xls” and a linked OLE object to the bitmap file “D:\example.bmp”.
EXTERNALBOOK 0 0 Server application = “excel”
Topic = “D:\[example.xls]Sheet1”
EXTERNALNAME 1 1 Type = DDE link, representing the “StdDocumentName” 
identifier
Item = “StdDocumentName”
EXTERNALNAME 2 2 Type = DDE link
Item = “A1:B2”
EXTERNALBOOK 1 1 Class name = “Excel.Sheet.8”
Document = “D:\example.xls”
EXTERNALNAME 1 1 Type = OLE link
Item = “!Sheet1!A1:B2”
EXTERNALBOOK 2 2 Class name = “Package”
Document = “D:\example.bmp”
EXTERNALNAME 1 1 Type = OLE link
Storage = 00012345
H
(storage name = “LNK00012345”)
EXTERNSHEET
REF 0 = {EXTERNALBOOK = 0, sheet range = –2…–2}
REF 1 = {EXTERNALBOOK = 1, sheet range = –2…–2}
REF 2 = {EXTERNALBOOK = 2, sheet range = –2…–2}
109
4 Worksheet/Workbook Stream
4.11 Shared String Table (BIFF8)
4.11.1 The SST Record
Definition: Shared String Table
A BIFF8 workbook collects the strings of all text cells in a global list, the Shared String Table. This table is 
located in the record SST in the Workbook Globals Substream (
4.2.5).
An SST record may be followed by an EXTSST record which stores stream positions for a string hash table.
Common structure of the Shared String Table, BIFF8:
SST
5.100
EXTSST
5.42
Text cells are represented by LABELSST records (
5.65) which contain indexes into the SST record. For reading Excel 
files, only the SST record and the LABELSST records are important.
Example: A workbook contains anywhere the strings “AAA”, “BBB” and “CCC”.
BOF
Type = workbook globals
Workbook globals records
SST
Total number of strings in document = 4, strings in SST = 3
String 0 = “AAA”
String 1 = “BBB”
String 2 = “CCC”
EXTSST
See below
Workbook globals records
EOF
BOF
Type = worksheet
Cell records
LABELSST
String index = 0 (results in “AAA”)
LABELSST
String index = 2 (results in “CCC”)
Cell records
LABELSST
String index = 1 (results in “BBB”)
LABELSST
String index = 0 (results in “AAA”)
Cell records
EOF
110
Documents you may be interested
Documents you may be interested