forked from sheetjs/docs.sheetjs.com
89 lines
5.6 KiB
Markdown
89 lines
5.6 KiB
Markdown
|
## Writing Options
|
||
|
|
||
|
The exported `write` and `writeFile` functions accept an options argument:
|
||
|
|
||
|
| Option Name | Default | Description |
|
||
|
| :---------- | -------: | :-------------------------------------------------- |
|
||
|
|`type` | | Output data encoding (see Output Type below) |
|
||
|
|`cellDates` | `false` | Store dates as type `d` (default is `n`) |
|
||
|
|`bookSST` | `false` | Generate Shared String Table ** |
|
||
|
|`bookType` | `"xlsx"` | Type of Workbook (see below for supported formats) |
|
||
|
|`sheet` | `""` | Name of Worksheet for single-sheet formats ** |
|
||
|
|`compression`| `false` | Use ZIP compression for ZIP-based formats ** |
|
||
|
|`Props` | | Override workbook properties when writing ** |
|
||
|
|`themeXLSX` | | Override theme XML when writing XLSX/XLSB/XLSM ** |
|
||
|
|`ignoreEC` | `true` | Suppress "number as text" errors ** |
|
||
|
|`numbers` | | Payload for NUMBERS export ** |
|
||
|
|
||
|
- `bookSST` is slower and more memory intensive, but has better compatibility
|
||
|
with older versions of iOS Numbers
|
||
|
- The raw data is the only thing guaranteed to be saved. Features not described
|
||
|
in this README may not be serialized.
|
||
|
- `cellDates` only applies to XLSX output and is not guaranteed to work with
|
||
|
third-party readers. Excel itself does not usually write cells with type `d`
|
||
|
so non-Excel tools may ignore the data or error in the presence of dates.
|
||
|
- `Props` is an object mirroring the workbook `Props` field. See the table from
|
||
|
the [Workbook File Properties](#workbook-file-properties) section.
|
||
|
- if specified, the string from `themeXLSX` will be saved as the primary theme
|
||
|
for XLSX/XLSB/XLSM files (to `xl/theme/theme1.xml` in the ZIP)
|
||
|
- Due to a bug in the program, some features like "Text to Columns" will crash
|
||
|
Excel on worksheets where error conditions are ignored. The writer will mark
|
||
|
files to ignore the error by default. Set `ignoreEC` to `false` to suppress.
|
||
|
- Due to the size of the data, the NUMBERS data is not included by default. The
|
||
|
included `xlsx.zahl.js` and `xlsx.zahl.mjs` scripts include the data.
|
||
|
|
||
|
### Supported Output Formats
|
||
|
|
||
|
For broad compatibility with third-party tools, this library supports many
|
||
|
output formats. The specific file type is controlled with `bookType` option:
|
||
|
|
||
|
| `bookType` | file ext | container | sheets | Description |
|
||
|
| :--------- | -------: | :-------: | :----- |:------------------------------- |
|
||
|
| `xlsx` | `.xlsx` | ZIP | multi | Excel 2007+ XML Format |
|
||
|
| `xlsm` | `.xlsm` | ZIP | multi | Excel 2007+ Macro XML Format |
|
||
|
| `xlsb` | `.xlsb` | ZIP | multi | Excel 2007+ Binary Format |
|
||
|
| `biff8` | `.xls` | CFB | multi | Excel 97-2004 Workbook Format |
|
||
|
| `biff5` | `.xls` | CFB | multi | Excel 5.0/95 Workbook Format |
|
||
|
| `biff4` | `.xls` | none | single | Excel 4.0 Worksheet Format |
|
||
|
| `biff3` | `.xls` | none | single | Excel 3.0 Worksheet Format |
|
||
|
| `biff2` | `.xls` | none | single | Excel 2.0 Worksheet Format |
|
||
|
| `xlml` | `.xls` | none | multi | Excel 2003-2004 (SpreadsheetML) |
|
||
|
| `numbers` |`.numbers`| ZIP | single | Numbers 3.0+ Spreadsheet |
|
||
|
| `ods` | `.ods` | ZIP | multi | OpenDocument Spreadsheet |
|
||
|
| `fods` | `.fods` | none | multi | Flat OpenDocument Spreadsheet |
|
||
|
| `wk3` | `.wk3` | none | multi | Lotus Workbook (WK3) |
|
||
|
| `csv` | `.csv` | none | single | Comma Separated Values |
|
||
|
| `txt` | `.txt` | none | single | UTF-16 Unicode Text (TXT) |
|
||
|
| `sylk` | `.sylk` | none | single | Symbolic Link (SYLK) |
|
||
|
| `html` | `.html` | none | single | HTML Document |
|
||
|
| `dif` | `.dif` | none | single | Data Interchange Format (DIF) |
|
||
|
| `dbf` | `.dbf` | none | single | dBASE II + VFP Extensions (DBF) |
|
||
|
| `wk1` | `.wk1` | none | single | Lotus Worksheet (WK1) |
|
||
|
| `rtf` | `.rtf` | none | single | Rich Text Format (RTF) |
|
||
|
| `prn` | `.prn` | none | single | Lotus Formatted Text |
|
||
|
| `eth` | `.eth` | none | single | Ethercalc Record Format (ETH) |
|
||
|
|
||
|
- `compression` only applies to formats with ZIP containers.
|
||
|
- Formats that only support a single sheet require a `sheet` option specifying
|
||
|
the worksheet. If the string is empty, the first worksheet is used.
|
||
|
- `writeFile` will automatically guess the output file format based on the file
|
||
|
extension if `bookType` is not specified. It will choose the first format in
|
||
|
the aforementioned table that matches the extension.
|
||
|
|
||
|
### Output Type
|
||
|
|
||
|
The `type` argument for `write` mirrors the `type` argument for `read`:
|
||
|
|
||
|
| `type` | output |
|
||
|
|------------|-----------------------------------------------------------------|
|
||
|
| `"base64"` | string: Base64 encoding of the file |
|
||
|
| `"binary"` | string: binary string (byte `n` is `data.charCodeAt(n)`) |
|
||
|
| `"string"` | string: JS string (characters interpreted as UTF8) |
|
||
|
| `"buffer"` | nodejs Buffer |
|
||
|
| `"array"` | ArrayBuffer, fallback array of 8-bit unsigned int |
|
||
|
| `"file"` | string: path of file that will be created (nodejs only) |
|
||
|
|
||
|
- For compatibility with Excel, `csv` output will always include the UTF-8 byte
|
||
|
order mark.
|
||
|
|