https://bz.apache.org/bugzilla/show_bug.cgi?id=65510

            Bug ID: 65510
           Summary: XLSB Short Cell Records
           Product: POI
           Version: unspecified
          Hardware: PC
                OS: Mac OS X 10.1
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSSF
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

XLSB supports a set of undocumented record types (12-18) which are "short"
versions of other cell records.  The short records do not specify a column
index.  They assume placement adjacent to the previous cell.


Placement logic: for example, if a BrtCellBlank specifies column D and is
followed by a record of type 16 (short BrtCellReal), the new cell will be in
column E.


Storage: To explain the file layout, record type 13 is a short form of
BrtCellRk (record type 2).  BrtCellRk is a 12 byte structure:

```
column index (4 bytes)
style index (3 bytes)
flags (1 byte)
value stored as RkNumber (4 bytes)
```

The short form is an 8 byte structure:

```
style index (3 bytes)
flags (1 byte)
value stored as RkNumber (4 bytes)
```


Documentation: Not even the 1.0 MS-XLSB spec mentions those records :( 
 https://oss.sheetjs.com/notes/xlsb_short_records/#records is a small table
noting the corresponding records for those record types.

There are two sample files:

https://oss.sheetjs.com/notes/xlsb_short_records/brt_sst.xlsb includes short
records for the 5 non-string record types as well as short BrtCellIsst (shared
string table)

https://oss.sheetjs.com/notes/xlsb_short_records/brt_str.xlsb includes short
records for the 5 non-string record types as well as short BrtCellSt (inline
strings)

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to