- XLS normalize URLs and use moniker (fixes#2385)
- ODS row heights and column widths (fixes#2378)
- DSV parse of files with leading <, deviating from Excel (fixes#1238)
- read `ArrayBuffer` with no type (fixes#2316)
- removed invalid test files that throw errors due to string length
- AOA/JSON null optional map to #NULL! (fixes#1196)
- PtgList and old Ptg record support
- fleshed out ftab constants from macrosheet support
- reimplemented / fixed / removed shim functions
- demo refresh
- UTF-16 Unicode Text (TXT) write
- Lotus Formatted Text (PRN) read/write
- DBF version 2 field length adjustments
- throw errors if SheetNames is invalid (fixes#376 h/t @pietersv)
- XLSB read V H VH + write V H VH
- XLSX read V H VH + write V H VH
- XLML read V H VH + write V H VH
- XLS read V H VH
- fixes#123 h/t @rla-dev @Mior
- fixes#464 h/t @enobufs @thowk
- fixes#498 h/t @digity
- fixes#503 h/t @digity
- chartsheets are now stored as sheets with "!type" set to "chart"
- fixed Strict XML Workbook Relationships
- stubbed support for dialog and macro sheets
- removed legacy XLS `!range` field
- added more function argc counts and cleaned up error rendering
- disabled XLS error on MTRSettings (fixes#466 h/t @dskrvk)
- handle more unexpected XML empty tags (fixes#510 h/t @rahulsindc)
- throw error if SheetNames is not unique (fixes#231 h/t @zippy1981)
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.
- codepage updated to 1.6.0 (latest)
- clean up Makefile
- adapted .travis.yml to support 0.8
- removed test files that drifted from baseline
- removed XLSB pseudo-inverse tests due to fails in node 4+
- more structure in the theme parsing
- cellDates option on parsing side creates date cells
- cellDates option on writing side creates cells with type 'd'
- cell types clarified, type 'str' phased out
- README clarifications
- more tests to ensure date consistency
- more test cases for ODS
- basic style + theme parsing, option .cellStyles (h/t @eladxxx)
- more XLSB writing stubs
- correct resolution of .xml/.bin files
- sheet_to_json improvements from js-xls
o opts.header = 1 for array of arrays
o opts.header = 'A' for spreadsheet column labels
o custom opts.header array for custom labels
o opts.range = n starts from row n
o opts.range = range restricts writer to work within the specified range
- Makefile adapted to work with cygwin on windows
- require cpexcel instead of full codepage library
- hardcode the unescapexml regexp
- utf8read short circuit for ASCII strings
- cellFormulae also acts on XLSX/XLSM
- bin/xlsx.njs do not process formulae unless requested
- read BOM, handle UTF16LE-encoded XML
- handle namespaces in [Content_Types].xml
- parse workbook rels to determine sheet files
- numbers OSX boolean support (apparently requires "0" or "1")
- XLSX force "General" style to be serialized, omit implied cell type and style
- updated SSF to 0.7.0 (h/t @sysarchitect)
- updated jszip to 2.2.2
- removed old tests/files path, replaced with test_files
- themes written
- ignore potential existence of thumbnail when calculating relationship ids
- 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`)
- all utilities are now wrapped in XLSX object
- codepage handling (h/t @xch89820)
- formula tag attributes (h/t @shaunthomas999)
- hyperlink support (h/t @sysarchitect, fixes#55)
- coverage test spinner (to prevent travis timeouts)
- SSF updated to 0.6.1 (h/t @notatestuser)
- more tests and related XLSB records
- XLSB plaintext comment and author
- preliminary work for XLSB formats
- opts.sheetRows limits parsing; default (0) parses all rows
- added -n mode to xlsx2csv to control number of rows
- !ref will be adjusted; !fullref holds full range