forked from sheetjs/sheetjs
clarify Multiplan DOS support
This commit is contained in:
parent
f38191d266
commit
cfe4da2e56
1
.gitignore
vendored
1
.gitignore
vendored
@ -29,6 +29,7 @@ tmp
|
|||||||
*.[rR][tT][fF]
|
*.[rR][tT][fF]
|
||||||
*.[eE][tT][hH]
|
*.[eE][tT][hH]
|
||||||
*.[nN][uU][mM][bB][eE][rR][sS]
|
*.[nN][uU][mM][bB][eE][rR][sS]
|
||||||
|
*.[mM][oO][dD]
|
||||||
*.123
|
*.123
|
||||||
*.htm
|
*.htm
|
||||||
*.html
|
*.html
|
||||||
|
@ -19,11 +19,12 @@ tmp
|
|||||||
*.[pP][dD][fF]
|
*.[pP][dD][fF]
|
||||||
*.[sS][lL][kK]
|
*.[sS][lL][kK]
|
||||||
*.socialcalc
|
*.socialcalc
|
||||||
*.[xX][lL][sSwWcCaAtTmM]
|
*.[xX][lL][sSwWcCaAtTmMrR]
|
||||||
*.[xX][lL][sSaAtT][xXmMbB]
|
*.[xX][lL][sSaAtT][xXmMbB]
|
||||||
*.[oO][dD][sS]
|
*.[oO][dD][sS]
|
||||||
*.[fF][oO][dD][sS]
|
*.[fF][oO][dD][sS]
|
||||||
*.[xX][mM][lL]
|
*.[xX][mM][lL]
|
||||||
|
*.[xX][lL][mM][lL]
|
||||||
*.[uU][oO][sS]
|
*.[uU][oO][sS]
|
||||||
*.[wW][kKqQbB][S1234567890]
|
*.[wW][kKqQbB][S1234567890]
|
||||||
*.[qQ][pP][wW]
|
*.[qQ][pP][wW]
|
||||||
@ -32,6 +33,7 @@ tmp
|
|||||||
*.[rR][tT][fF]
|
*.[rR][tT][fF]
|
||||||
*.[eE][tT][hH]
|
*.[eE][tT][hH]
|
||||||
*.[nN][uU][mM][bB][eE][rR][sS]
|
*.[nN][uU][mM][bB][eE][rR][sS]
|
||||||
|
*.[mM][oO][dD]
|
||||||
*.123
|
*.123
|
||||||
*.htm
|
*.htm
|
||||||
*.html
|
*.html
|
||||||
|
14
README.md
14
README.md
@ -4061,7 +4061,7 @@ Despite the library name `xlsx`, it supports numerous spreadsheet file formats:
|
|||||||
| Excel 5.0/95 (XLS BIFF5) | ✔ | ✔ |
|
| Excel 5.0/95 (XLS BIFF5) | ✔ | ✔ |
|
||||||
| Excel 4.0 (XLS/XLW BIFF4) | ✔ | ✔ |
|
| Excel 4.0 (XLS/XLW BIFF4) | ✔ | ✔ |
|
||||||
| Excel 3.0 (XLS BIFF3) | ✔ | ✔ |
|
| Excel 3.0 (XLS BIFF3) | ✔ | ✔ |
|
||||||
| Excel 2.0/2.1 (XLS BIFF2) | ✔ | ✔ |
|
| Excel 2.0/2.1 / Multiplan 4.x DOS (XLS BIFF2) | ✔ | ✔ |
|
||||||
| **Excel Supported Text Formats** |:-----:|:-----:|
|
| **Excel Supported Text Formats** |:-----:|:-----:|
|
||||||
| Delimiter-Separated Values (CSV/TXT) | ✔ | ✔ |
|
| Delimiter-Separated Values (CSV/TXT) | ✔ | ✔ |
|
||||||
| Data Interchange Format (DIF) | ✔ | ✔ |
|
| Data Interchange Format (DIF) | ✔ | ✔ |
|
||||||
@ -4126,6 +4126,11 @@ the concept of a workbook (`XLW` files) but also had single-sheet `XLS` format.
|
|||||||
The structure is largely similar to the Lotus 1-2-3 file formats. BIFF5/8/12
|
The structure is largely similar to the Lotus 1-2-3 file formats. BIFF5/8/12
|
||||||
extended the format in various ways but largely stuck to the same record format.
|
extended the format in various ways but largely stuck to the same record format.
|
||||||
|
|
||||||
|
Multiplan 4 "Normal" files are identical in structure to BIFF2 and use the same
|
||||||
|
cell value records. There are some different record types for more advanced
|
||||||
|
features like Print Settings. The BIFF2 writer generates files that can be read
|
||||||
|
in Multiplan 4 and the parser can extract values from "Normal" files.
|
||||||
|
|
||||||
There is no official specification for any of these formats. Excel 95 can write
|
There is no official specification for any of these formats. Excel 95 can write
|
||||||
files in these formats, so record lengths and fields were determined by writing
|
files in these formats, so record lengths and fields were determined by writing
|
||||||
in all of the supported formats and comparing files. Excel 2016 can generate
|
in all of the supported formats and comparing files. Excel 2016 can generate
|
||||||
@ -4252,11 +4257,8 @@ reader understands DBF Level 7 extensions like DATETIME.
|
|||||||
|
|
||||||
- **Symbolic Link (SYLK)**
|
- **Symbolic Link (SYLK)**
|
||||||
|
|
||||||
There is no real documentation. All knowledge was gathered by saving files in
|
<https://oss.sheetjs.com/notes/sylk/> is an informal specification based on our
|
||||||
various versions of Excel to deduce the meaning of fields. Notes:
|
experimentation and previous documentation efforts.
|
||||||
|
|
||||||
- Plain formulae are stored in the RC form.
|
|
||||||
- Column widths are rounded to integral characters.
|
|
||||||
|
|
||||||
- **Lotus Formatted Text (PRN)**
|
- **Lotus Formatted Text (PRN)**
|
||||||
|
|
||||||
|
@ -1319,6 +1319,16 @@ var XLSRecordEnum = {
|
|||||||
/*::[*/0x08cb/*::]*/: { /* n:"CrtCoopt", */ },
|
/*::[*/0x08cb/*::]*/: { /* n:"CrtCoopt", */ },
|
||||||
/*::[*/0x08d6/*::]*/: { /* n:"FRTArchId$", */ r:12 },
|
/*::[*/0x08d6/*::]*/: { /* n:"FRTArchId$", */ r:12 },
|
||||||
|
|
||||||
|
/* --- multiplan 4 records --- */
|
||||||
|
/*::[*/0x0065/*::]*/: { /* n:"", */ }, // one per window
|
||||||
|
/*::[*/0x0066/*::]*/: { /* n:"", */ }, // calc settings
|
||||||
|
/*::[*/0x0069/*::]*/: { /* n:"", */ }, // print header
|
||||||
|
/*::[*/0x006a/*::]*/: { /* n:"", */ }, // print footer
|
||||||
|
/*::[*/0x006b/*::]*/: { /* n:"", */ }, // print settings
|
||||||
|
/*::[*/0x006d/*::]*/: { /* n:"", */ }, // one per window
|
||||||
|
/*::[*/0x0070/*::]*/: { /* n:"", */ }, // includes default col width
|
||||||
|
/*::[*/0x0072/*::]*/: { /* n:"", */ }, // includes selected cell
|
||||||
|
|
||||||
/*::[*/0x7262/*::]*/: {}
|
/*::[*/0x7262/*::]*/: {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -107,6 +107,11 @@ function readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {
|
|||||||
case 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;
|
case 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;
|
||||||
case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);
|
case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);
|
||||||
case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
|
case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
|
||||||
|
case 0x08: if(n[1] === 0xE7) throw new Error("Unsupported Multiplan 1.x file!"); break;
|
||||||
|
case 0x0C:
|
||||||
|
if(n[1] === 0xEC) throw new Error("Unsupported Multiplan 2.x file!");
|
||||||
|
if(n[1] === 0xED) throw new Error("Unsupported Multiplan 3.x file!");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);
|
if(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);
|
||||||
return read_prn(data, d, o, str);
|
return read_prn(data, d, o, str);
|
||||||
|
@ -12,7 +12,7 @@ Despite the library name `xlsx`, it supports numerous spreadsheet file formats:
|
|||||||
| Excel 5.0/95 (XLS BIFF5) | ✔ | ✔ |
|
| Excel 5.0/95 (XLS BIFF5) | ✔ | ✔ |
|
||||||
| Excel 4.0 (XLS/XLW BIFF4) | ✔ | ✔ |
|
| Excel 4.0 (XLS/XLW BIFF4) | ✔ | ✔ |
|
||||||
| Excel 3.0 (XLS BIFF3) | ✔ | ✔ |
|
| Excel 3.0 (XLS BIFF3) | ✔ | ✔ |
|
||||||
| Excel 2.0/2.1 (XLS BIFF2) | ✔ | ✔ |
|
| Excel 2.0/2.1 / Multiplan 4.x DOS (XLS BIFF2) | ✔ | ✔ |
|
||||||
| **Excel Supported Text Formats** |:-----:|:-----:|
|
| **Excel Supported Text Formats** |:-----:|:-----:|
|
||||||
| Delimiter-Separated Values (CSV/TXT) | ✔ | ✔ |
|
| Delimiter-Separated Values (CSV/TXT) | ✔ | ✔ |
|
||||||
| Data Interchange Format (DIF) | ✔ | ✔ |
|
| Data Interchange Format (DIF) | ✔ | ✔ |
|
||||||
@ -77,6 +77,11 @@ the concept of a workbook (`XLW` files) but also had single-sheet `XLS` format.
|
|||||||
The structure is largely similar to the Lotus 1-2-3 file formats. BIFF5/8/12
|
The structure is largely similar to the Lotus 1-2-3 file formats. BIFF5/8/12
|
||||||
extended the format in various ways but largely stuck to the same record format.
|
extended the format in various ways but largely stuck to the same record format.
|
||||||
|
|
||||||
|
Multiplan 4 "Normal" files are identical in structure to BIFF2 and use the same
|
||||||
|
cell value records. There are some different record types for more advanced
|
||||||
|
features like Print Settings. The BIFF2 writer generates files that can be read
|
||||||
|
in Multiplan 4 and the parser can extract values from "Normal" files.
|
||||||
|
|
||||||
There is no official specification for any of these formats. Excel 95 can write
|
There is no official specification for any of these formats. Excel 95 can write
|
||||||
files in these formats, so record lengths and fields were determined by writing
|
files in these formats, so record lengths and fields were determined by writing
|
||||||
in all of the supported formats and comparing files. Excel 2016 can generate
|
in all of the supported formats and comparing files. Excel 2016 can generate
|
||||||
@ -203,11 +208,8 @@ reader understands DBF Level 7 extensions like DATETIME.
|
|||||||
|
|
||||||
- **Symbolic Link (SYLK)**
|
- **Symbolic Link (SYLK)**
|
||||||
|
|
||||||
There is no real documentation. All knowledge was gathered by saving files in
|
<https://oss.sheetjs.com/notes/sylk/> is an informal specification based on our
|
||||||
various versions of Excel to deduce the meaning of fields. Notes:
|
experimentation and previous documentation efforts.
|
||||||
|
|
||||||
- Plain formulae are stored in the RC form.
|
|
||||||
- Column widths are rounded to integral characters.
|
|
||||||
|
|
||||||
- **Lotus Formatted Text (PRN)**
|
- **Lotus Formatted Text (PRN)**
|
||||||
|
|
||||||
|
@ -3836,7 +3836,7 @@ Despite the library name `xlsx`, it supports numerous spreadsheet file formats:
|
|||||||
| Excel 5.0/95 (XLS BIFF5) | ✔ | ✔ |
|
| Excel 5.0/95 (XLS BIFF5) | ✔ | ✔ |
|
||||||
| Excel 4.0 (XLS/XLW BIFF4) | ✔ | ✔ |
|
| Excel 4.0 (XLS/XLW BIFF4) | ✔ | ✔ |
|
||||||
| Excel 3.0 (XLS BIFF3) | ✔ | ✔ |
|
| Excel 3.0 (XLS BIFF3) | ✔ | ✔ |
|
||||||
| Excel 2.0/2.1 (XLS BIFF2) | ✔ | ✔ |
|
| Excel 2.0/2.1 / Multiplan 4.x DOS (XLS BIFF2) | ✔ | ✔ |
|
||||||
| **Excel Supported Text Formats** |:-----:|:-----:|
|
| **Excel Supported Text Formats** |:-----:|:-----:|
|
||||||
| Delimiter-Separated Values (CSV/TXT) | ✔ | ✔ |
|
| Delimiter-Separated Values (CSV/TXT) | ✔ | ✔ |
|
||||||
| Data Interchange Format (DIF) | ✔ | ✔ |
|
| Data Interchange Format (DIF) | ✔ | ✔ |
|
||||||
@ -3899,6 +3899,11 @@ the concept of a workbook (`XLW` files) but also had single-sheet `XLS` format.
|
|||||||
The structure is largely similar to the Lotus 1-2-3 file formats. BIFF5/8/12
|
The structure is largely similar to the Lotus 1-2-3 file formats. BIFF5/8/12
|
||||||
extended the format in various ways but largely stuck to the same record format.
|
extended the format in various ways but largely stuck to the same record format.
|
||||||
|
|
||||||
|
Multiplan 4 "Normal" files are identical in structure to BIFF2 and use the same
|
||||||
|
cell value records. There are some different record types for more advanced
|
||||||
|
features like Print Settings. The BIFF2 writer generates files that can be read
|
||||||
|
in Multiplan 4 and the parser can extract values from "Normal" files.
|
||||||
|
|
||||||
There is no official specification for any of these formats. Excel 95 can write
|
There is no official specification for any of these formats. Excel 95 can write
|
||||||
files in these formats, so record lengths and fields were determined by writing
|
files in these formats, so record lengths and fields were determined by writing
|
||||||
in all of the supported formats and comparing files. Excel 2016 can generate
|
in all of the supported formats and comparing files. Excel 2016 can generate
|
||||||
@ -4025,11 +4030,8 @@ reader understands DBF Level 7 extensions like DATETIME.
|
|||||||
|
|
||||||
- **Symbolic Link (SYLK)**
|
- **Symbolic Link (SYLK)**
|
||||||
|
|
||||||
There is no real documentation. All knowledge was gathered by saving files in
|
<https://oss.sheetjs.com/notes/sylk/> is an informal specification based on our
|
||||||
various versions of Excel to deduce the meaning of fields. Notes:
|
experimentation and previous documentation efforts.
|
||||||
|
|
||||||
- Plain formulae are stored in the RC form.
|
|
||||||
- Column widths are rounded to integral characters.
|
|
||||||
|
|
||||||
- **Lotus Formatted Text (PRN)**
|
- **Lotus Formatted Text (PRN)**
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user