- missing formula elements rewritten to valid defined names (see #680)
- comment author length limit enforced
- XLS ifmt references renamed to numFmtId for consistency with XLSB
- removed circular symlink
- mangle/compress with uglify
- more flow comments
- xlsx.njs use dense mode by default
- CSV Streaming output for nodejs
- XLSX/XLSB error on password protected documents
- record hoppers switch on record number rather than name
The optional ODS module has been completely merged into xlsx.js and the
corresponding scripts have been removed. The new xlsx.js file provides
appropriate ODS exports, so fixing is a matter of removing ods.js refs.
- read and write support for Flat ODS files
- read support for Uniform Office Spreadsheet (UOS)
- IE6-8 cell regex split fix (fixes#350#140#268 h/t @Aymkdn @C0d3ine)
- replace substr negative index with slices (fixes#351 h/t @Aymkdn)
- ODS parsexmltag ignores ext overrides (fixes#548 h/t @lgodard)
- csv can be written using write/writeFile with csv type
- added `type` to README (fixes#432 h/t @tomkel)
- BIFF 2-12 formula parsing
- more content type coverage
- unified `.f` form: A1-style string
- `.F` field for array formulae
- formula output groups array formulae
- bin script -A --arrays output JS row objects
- whitespace robustness in inline string xml
- UTF-8 parsing in rich text runs (fixes#505 h/t @fuchsc)
- bold/italic/underline accept null val attr (h/t @qqilihq)
- sst trimming (fixes#176 h/t @shakhal @oising)
- jscs linting to check for trailing comma issues (h/t @altkatz)
- IE: phased out lazy string indexing in favor of charCodeAt
- XLSX: replaced certain operations in hot functions with faster alternatives
- updated SSF to 0.7.1
- improved coverage in tests
- very basic XLSX / XLSM write support with roundtrip tests (XLSB stubs)
- reorganized source tree
- new XLSB range check ensures that A1 is not emitted for empty sheets
- SSF table emitted in output (consistent with js-xls)
- CLI supports writing
Backwards-incompatible changes:
o new Property aliases (see CORE_PROPS and EXT_PROPS)
o FILETIME custom properties parsed as JS Dates
o `xlsx2csv` -> `xlsx` (and `bin/xlsx{2csv,}.njs`)