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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5 Worksheet/Workbook Records<br />

5.21 CONTINUE<br />

BIFF2 BIFF3 BIFF4 BIFF5 BIFF8<br />

003C H 003C H 003C H 003C H 003C H<br />

Whenever the content of a record exceeds the given limits (see table), the record must be split. Several CONTINUE<br />

records containing the additional data are added after the parent record.<br />

BIFF version<br />

BIFF2-BIFF5<br />

BIFF8<br />

Record CONTINUE, BIFF2-BIFF8:<br />

Maximum data size of a record<br />

2080 bytes (2084 bytes including record header)<br />

8224 bytes (8228 bytes including record header)<br />

Offset Size Contents<br />

0 var. Data continuation of the previous record<br />

Unicode strings are split in a special way. At the beginning of each CONTINUE record the option flags byte is repeated.<br />

Only the character size flag will be set in this flags byte, the Rich-Text flag and the Far-East flag are set to zero.<br />

!<br />

In each CONTINUE record it is possible that the character size changes from 8-bit characters to 16-bit characters<br />

and vice versa.<br />

Never a Unicode string is split until and including the first character. That means, all header fields (string length,<br />

! option flags, optional Rich-Text size, and optional Far-East data size) and the first character of the string have to<br />

occur together in the leading record, or have to be moved completely into the CONTINUE record.<br />

!<br />

<strong>Format</strong>ting runs (➜2.5.1) cannot be split between their components (character index and FONT record index). If a<br />

string is split between two formatting runs, the option flags field will not be repeated in the CONTINUE record.<br />

Example: <strong>The</strong> remaining size of a record may be 10 bytes (it has 8214 bytes of data). Now the string “ABCDE-<br />

GHΩI” has to be stored in this record. “Ω” is the capital Greek character Omega with the Unicode character code<br />

03A9 H .<br />

Note: <strong>The</strong> records are shown with their headers to make the example clearer.<br />

Offset Size Contents Description<br />

0 2 Any record identifier<br />

2 2 2020 H (8224) Record data size<br />

4 8214 Any data<br />

8218 2 000A H (10) Unicode string character count<br />

8220 1 00 H Unicode string option flags (8-bit characters)<br />

8221 7 41 H 42 H … 47 H 8-bit character array “ABCDEFG”<br />

8228 2 003C H Record identifier CONTINUE<br />

8230 2 0007 H (7) Record data size<br />

8232 1 01 H Unicode string option flags (16-bit characters)<br />

8233 2 0048 H 16-bit character “H”<br />

8235 2 03A9 H 16-bit character “Ω”<br />

8237 2 0049 H 16-bit character “I”<br />

148

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

Saved successfully!

Ooh no, something went wrong!