Sheet Basic Structures

Several structures seem specific for the Sheet program.

Sheet Dates

A date is encoded as either a SInt or a Float. Its integer value is the number of days elapsed since December 31,1899 (day 0), its fractional part encodes the time as fraction of (decimal) 24 hours. So January 1, 1900 midnight would be encoded as 1, while January 1, noon would be encoded as (decimal) 1.5.

Internally, sheet dates are treated exactly like numbers, and all numeric operations may be applied to them.

Sheet Cell Offset

Cell offsets can either be absolute (relative to cell A1) or relative (relative to the current cell).

Start End Description

0000 bit 0 0003 bit 5 Offset (number of cells)

0003 bit 6 Relative (0) or absolute (1) offset

0003 bit 7 Positive (0, right/down) or negitive (1, up/left) offset

Sheet Cell Reference

Reference a single cell.

Data Description

Sheet Cell Offset Vertical offset

Sheet Cell Offset Horizontal offset

B Unknown: (always 00?) (Worksheet number?)

Sheet Cell Block

Reference a block of cells.

Data Description

Sheet Cell Offset Vertical offset first cell

Sheet Cell Offset Horizontal offset first cell

B Unknown (always 00?) (Worksheet number?)

Sheet Cell Offset Vertical offset last cell

Sheet Cell Offset Horizontal offset last cell

B Unknown (always 00?) (Worksheet number?)

Sheet Number Format

Determines how a number is displayed. The number of decimals is not relevant for all formats.

Data Description

B Always 02?

Sheet Number Format Code Number format

B Decimals (bit 1 to 7)

Sheet Number Format Code

code display as

00 general

02 fixed decimal

04 scientific

06 currency

08 percent

0A triads (every 3 digits separated)

0C boolean (true/false)

0E text

10 "d/mm" (eg. 1.3 for March 1)

12 "mm/d" (eg. 3.1 for March 1)

14 "dd/mm/yy" (eg. 01.03.2000)

16 "mm/dd/yy"

18 "yy/mm/dd"

1A "d mmm" (eg. 1 Mar)

1C "d mmm yy"

1E "dd mmm yyyy"

20 "mmm"

22 "monthname" (eg. March)

24 "mmm yy"

26 "monthname yy"

28 "monthname dd, yyyy"

2A "dd.mm.yyyy hh:ii ampm"

2C "dd.mm.yyyy HH:ii"

2E "mm.dd.yyyy hh:ii ampm"

30 "mm.dd.yyyy HH:ii"

32 "yyyy.mm.dd hh:ii ampm"

34 "yyyy.mm.dd HH:ii"

36 "hh:ii ampm" (eg. 1:25pm)

38 "hh:ii:ss ampm"

3A "HH:ii" (eg. 13:25)

3C "HH:ii:ss"

Sheet Cell Layout

Data Description

B Always 02 ?

B bit 0: default paragraph layout present (01) or not (00)

bit 1: default character layout present (1) or not (00)

bit 2: default number format present (1) or not (00)

(*) Paragraph Layout List Default paragraph layout

(*) Character Layout List Default character layout

(*) Sheet Number Format Default number format

Sheet Variable Reference

Sheet variables are referenced by number. Each variable in the Sheet Variable List has its own number encoded in it.

Data Description

L Variable reference number