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.
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