07.05.2014 Views

The Microsoft Excel File Format - OpenOffice.org

The Microsoft Excel File Format - OpenOffice.org

The Microsoft Excel File Format - OpenOffice.org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.10 Internal and External References<br />

4.10.3 References in BIFF8<br />

<strong>The</strong> main data of all types of references is stored in the Link Table inside the Workbook Globals Substream (➜4.2.5). All<br />

formulas use only indexes for specific references. <strong>The</strong> Link Table itself is optional and occurs only, if there are any<br />

references in the document.<br />

Common structure of the Link Table, BIFF8:<br />

●● EXTERNALBOOK Blocks Settings for a referenced document<br />

● EXTERNSHEET ➜5.41<br />

○○ DEFINEDNAME ➜5.33<br />

Each referenced document is represented by an EXTERNALBOOK Block. It starts with an EXTERNALBOOK record. It<br />

contains the name of the document and the names of its sheets. It is followed by additional records that allow to dereference<br />

the data in the document. After the last EXTERNALBOOK Block occurs only one EXTERNSHEET record. It<br />

contains a list with indexes to the SUPBOOKs for each used reference anywhere in the document. Formulas use indexes<br />

into this EXTERNSHEET list.<br />

Example: A document contains (among other references) the two formulas<br />

=[example.xls]ExtSheet2!A1 and<br />

=[example.xls]ExtSheet1!A1.<br />

EXTERNALBOOK<br />

Block 0<br />

EXTERNALBOOK<br />

Block 1<br />

EXTERNALBOOK<br />

Block 2<br />

EXTERNSHEET<br />

Any content<br />

Document = “example.xls”<br />

Sheet 0 = “ExtSheet1”<br />

Sheet 1 = “ExtSheet2”<br />

Sheet 2 = “ExtSheet3”<br />

Any content<br />

REF 0 = any reference<br />

REF 1 = {EXTERNALBOOK = 1, sheet range = 1…1}<br />

REF 2 = any reference<br />

REF 3 = {EXTERNALBOOK = 1, sheet range = 0…0}<br />

REF 4 = any reference<br />

<strong>The</strong> first formula uses REF 1 in the EXTERNSHEET record. REF 1 refers to EXTERNALBOOK Block 1 and<br />

sheet range 1…1. This means, the document “example.xls” is used (document of EXTERNALBOOK Block 1)<br />

and the name of the sheet is “ExtSheet2” (sheet 1 of EXTERNALBOOK Block 1). In the same way, the second<br />

formula uses REF 3 in the EXTERNSHEET record. All list entries inside of the EXTERNSHEET record are<br />

unique. For instance all formulas in the workbook referring to sheet “ExtSheet2” of the document “example.xls”<br />

use REF 1. All other EXTERNALBOOK Blocks and REFs are placeholders for other references in this example.<br />

Common structure of an EXTERNALBOOK Block, BIFF8:<br />

● EXTERNALBOOK ➜5.38<br />

○○ EXTERNALNAME ➜5.39<br />

○○<br />

● XCT ➜5.114<br />

●● CRN ➜5.23<br />

<strong>The</strong> EXTERNALBOOK Block may contain cached values of cells in the referenced document. <strong>The</strong>se values are stored in<br />

several XCT and CRN records.<br />

105

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!