xsheetjs/docbits/81_writeopts.md
SheetJS b93569badf more formats from js-harb
- clarify usage of Props and Custprops (fixes #274 h/t @michahell)
- SYLK from js-harb
- DIF from js-harb
- HTML empty string bug fix
2017-04-01 03:32:12 -04:00

3.0 KiB

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 **
  • 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 blow up in the presence of dates.

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
ods .ods ZIP multi OpenDocument Spreadsheet
biff2 .xls none single Excel 2.0 Worksheet format
fods .fods none multi Flat OpenDocument Spreadsheet
csv .csv none single Comma Separated Values
sylk .sylk none single Symbolic Link (SYLK)
dif .dif none single Data Interchange Format (DIF)
  • 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.

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 (n-th byte is data.charCodeAt(n))
"buffer" nodejs Buffer
"file" string: name of file to be written (nodejs only)