This log is intended to keep track of backwards-incompatible changes, including but not limited to API changes and file location changes. Minor behavioral changes may not be included if they are not expected to break existing code.
- CLI script moved to
xlsx-cli
package
window.XLSX
explicit assignment to satiate LWC- CSV Proper formatting of errors
- HTML emit data-* attributes
- Browser and Node optional ESM support
- DSV correct handling of bare quotes (h/t @bgamrat)
XLSB
writer uses short cell form when viable
- mini build includes ODS parse/write support
- DBF explicitly cap worksheet to 1<<20 rows
- XLS throw errors on truncated records
- Disabled
PRN
parsing by default (better support for CSV without delimeters)
- skip empty custom property tags if data is absent (fixes DocSecurity issue)
- HTML output add raw value, type, number format
- DOM parse look for
v
/t
/z
attributes when determining value - double quotes in properties escaped using
_x0022_
- changed AMD structure for NetSuite and other RequireJS implementations
encode_cell
anddecode_cell
do not rely onencode_col
/decode_col
- Date handling changed
- XLML certain tag tests are now case insensitive
- Fixed potentially vulnerable regular expressions
- CFB prevent infinite loop
- ODS empty cells marked as stub (type "z")
cellStyles
option impliessheetStubs
sheets
parse option to specify which sheets to parse
- AOA utilities properly preserve number formats
- Number formats captured in stub cells
- Properties and Custom Properties properly XML-encoded
sheet_get_cell
utility functionsheet_to_json
explicitly supportnull
as alias for default behaviorencode_col
throw on negative column index- HTML properly handle whitespace around tags in a run
- HTML use
id
option on write - Files starting with
0x09
followed by a display character are now TSV files - XLS parse references col/row indices mod by the correct number for BIFF ver
- XLSX comments moved to avoid overlapping cell
- XLSB outline level
- AutoFilter update
_FilterDatabase
defined name on write - XLML skip CDATA blocks
- XLSX ignore XML artifacts
- HTML capture and persist merges
dist/xlsx.mini.min.js
mini build with XLSX read/write and some utilities- Removed legacy conversion utility functions
- XLS PtgNameX lookup
- XLS always create stub cells for blank cells with comments
- Better treatment of
skipHidden
in CSV output - Ignore CLSID in XLS
- SYLK 7-bit character encoding
- SYLK and DBF codepage support
- Proper shifting of addresses in Shared Formulae
- Proper XML encoding of comments
- raw cell objects can be passed to
sheet_add_aoa
_FilterDatabase
fix for AutoFilter-related crashesstream.to_json
doesn't end up accidentally scanning to max row
sheet_to_json
default flipped toraw: true
- HTML output generates
<br/>
instead of encoded newline character
- Buffer.from shim replaced, will not be defined in node
<=0.12
- Library reshaped to support AMD out of the box
- XLS/XLSX/XLSB range truncation (errors in
WTF
mode)
JSZip
renamed toJSZipSync
- Extendscript target script in NPM package
- Error on empty workbook
- XLS ANSI/CP separation
- 'array' write type and ArrayBuffer processing
- Semicolon-delimited files are detected
- Bower main script shifted to full version
- 'binary' / 'string' encoding
- XLS cell ixfe/XF removed
- Strip
require
statements from minified version - minifier mangler enabled
- XLML/HTML resolution logic looks further into the data stream to decide type
- Errors thrown on suspected RTF files
- HTML Table output header/footer should not include
<table>
tag
- Dates are converted to numbers by default (set
cellDates:true
to emit Dates) - Module does not export CFB
--perf
renamed to--read-only
- default output format changed to XLSB
- comment text line endings are now normalized
- errors thrown on write when worksheets have invalid names
- XLS legacy
!range
field removed - Hyperlink tooltip is stored in the
Tooltip
field
sheet_to_json
now passesnull
values whenraw
is set totrue
sheet_to_json
treatsnull
stub cells as values in conjunction withraw
cellDates
affects parsing in non-XLSX formats
- XLML property names are more closely mapped to the XLSX equivalent
- Stub cells are now cell type
z
- Removed stale TypeScript definition files. Flowtype comments are used in the
xlsx.flow.js
source and stripped to producexlsx.js
. - sed usage reworked to support GNU sed in-place form. BSD sed seems to work, but the build script has not been tested on other sed variants:
$ sed -i.ext [...] # GNU
$ sed -i .ext [...] # bsd
- Removed ods.js source. The xlsx.js source absorbed the ODS logic and exposes the ODS variable, so projects should remove references to ods.js