sheetjs/docbits/81_writeopts.md

2.9 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. Formulae, formatting, and other niceties may not be serialized (pending CSF standardization)
  • 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
  • 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)