What is a Lotus 123 file?
A file with .123 extension is a spreadsheet file created with Lotus 1-2-3, a spreadsheet software by IBM Lotus SmartSuite. It had been in use for quite good times before it was surpassed by Microsoft Excel application in early 1990s. Data in a Lotus spreadsheet file used to be organized in rows and columns, similar to current Excel files, and different computations functions could be applied to it. Several different versions of Lotus spreadsheet file formats kept evolving with different extensions such as .wks, .wk1, .wk2, .wk3, and .wk4, with each varying numerical increment in extension consisting of modifications. Lotus was officially discontinued in 2013.
Lotus 123 File Format - More Information
Lotus files are binary files and can not be read or interpreted if opened in raw form. Its file format specifications are available as archives for reference at following links:
Each file is organized as an unbroken sequence of variable length binary records.
Lotus 123 File Header
Each record in a Lotus 123 spreadsheet file consists of a 4-byte header followed by the record body. The header also defines the record’s type and length. Header composition is as shown below.
Byte Number | Byte Description |
---|---|
0,1 | Record type code |
2,3 | Record body length (bytes) |
Record Types
A Lotus spreadsheet file can have may different record types. These can be of predetermined as well as variable length. The following table shows different record types arranged by Op Code.
Type | Code (hex) | Length (bytes) | Description |
---|---|---|---|
BOF | 0 | 2 | Beginning of file |
EOF | 1 | 0 | End of file |
CALCMODE | 2 | 1 | Calculation mode |
CALCORDER | 3 | 1 | Calculation order |
SPLIT | 4 | 1 | Split window type |
SYNC | 5 | 1 | Split window sync |
RANGE | 6 | 8 | Active worksheet range |
WINDOW1 | 7 | 31 | Window 1 record |
COLW1 | 8 | 3 | Column width, window 1 |
WINTWO | 9 | 31 | Window 2 record |
COLW2 | A | 3 | Column width, window 2 |
NAME | B | 24 | Named range |
BLANK | C | 5 | Blank cell |
INTEGER | D | 7 | Integer number cell |
NUMBER | E | 13 | Floating point number |
LABEL | F | variable | Label cell |
FORMULA | 10 | variable | Formula cell |
TABLE | 18 | 25 | Data table range |
ORANGE | 19 | 25 | Query range |
PRANGE | 1A | 8 | Print range |
SRANGE | 1B | 8 | Sort range |
FRANGE | 1C | 8 | Fill range |
KRANGE1 | 1D | 9 | Primary sort key range |
HRANGE | 20 | 16 | Distribution range |
KRANGE2 | 23 | 9 | Secondary sort key range |
PROTEC | 24 | 1 | Global protection |
FOOTER | 25 | 242 | Print footer |
HEADER | 26 | 242 | Print header |
SETUP | 27 | 40 | Print setup |
MARGINS | 28 | 10 | Print margins code |