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.

7.2 General Chart Structure<br />

7.2 General Chart Structure<br />

7.2.1 Chart Stream or Substream<br />

All objects a chart is made of are <strong>org</strong>anised in a strict hierarchy which is also reflected in the file format. <strong>The</strong> Chart<br />

(Sub)stream consists of page settings (similar to a regular Sheet Substream) followed by the chart description. Each<br />

chart contains a list of data series information (a list of values for the data points, and formatting information for the<br />

series and the data points), and additional information about all axes, series groupings, chart type, legend, data table, and<br />

so on.<br />

Structure of the Chart Substream, BIFF5-BIFF8:<br />

● BOF Type = chart (➜5.8)<br />

○ Page Settings Block ➜4.4<br />

○ Worksheet Protection Block ➜4.18 (without SCENPROTECT record)<br />

● Global Chart Block ➜7.2.3<br />

● DIMENSION ➜5.35<br />

● Worksheet View Settings Block ➜4.5 (WINDOW2 and SCL records only)<br />

● EOF ➜5.37<br />

7.2.2 Chart Record Block<br />

<strong>The</strong> chart stream contains blocks of records describing specific details of the chart. All record blocks are embedded into<br />

other record blocks up to and including the Global Chart Block (➜7.2.3) which represents the entire chart and is stored<br />

in the Chart (Sub)stream (➜7.2.1).<br />

Definition: Chart record block<br />

A chart record block is a group of records in the Chart (Sub)stream that describes a specific object or other<br />

specific data in the chart. A block consists of one or more header records (in a fixed order) and the inner block<br />

records which are enclosed into special block-start and block-end records. A chart record block may contain<br />

other embedded chart record blocks.<br />

Structure of a chart record block:<br />

●●<br />

○<br />

Block header record(s)<br />

● CHBEGIN Begin of chart record block (➜7.8)<br />

Embedded block records<br />

● CHEND End of chart record block (➜7.9)<br />

It is possible to have an empty block that consists of the header records only, or that consists of the header records<br />

followed by an empty pair of CHBEGIN and CHEND records.<br />

Chart record blocks are named according to their (first) header record.<br />

Example: <strong>The</strong> chart record block that describes a text object is led by a CHTEXT record. <strong>The</strong>refore the chart<br />

record block is called “CHTEXT Block”.<br />

229

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

Saved successfully!

Ooh no, something went wrong!