- browser demo save file in global (fixes#573 h/t @WildDusk)
- flesh out XLSB record expectations (fixes#624 h/t @pgeeh)
- `dense` mode (fixes#34 h/t @schleumer)
- 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)
- `aoa_to_sheet` function (fixes#314 h/t @fonzy2013 @rvdwijngaard)
- `writeFileAsync` function (fixes#396 h/t @barbalex)
- `sheet_to_json` tests + docs + blankrows (fixes#602 h/t @EEaglehouse)
- write number format scan now includes every index >= 50
- propagate SSF IE8 fixes (fixes#171 h/t @sheetjsdev)
- update shim for extendscript (see #603 h/t @firas3d)
- more flow type definitions
- 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)
- 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
- parsexmltag and other hot functions now better optimized for v8
- monomorphic functions (different types -> different funcs)
- more efficient decode_range implementation when source is trusted
- regular expressions cached and simplified without breaking correctness
- more efficient utf8 techniques when available
- XLSX: large functions broken down into sub-functions (e.g. `parse_ws_xml`)
- XLSB: avoid unnecessary binds
- XLSB: assume no exotic codepage exists (no one else tries to write XLSB)
- demo exposes rABS / worker / transferable options
- more tests
- jszip updated to 2.3.0
- SSF updated to 0.8.1
- codepage updated to 1.3.1
- 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
- updated SSF to 0.6.5
- XLSB 'dbcs' uses codepage
- README bugfix (h/t @noodles)
- new tests: rawjson and json baselines generated by hand
- single cell ranges are encoded as cells ("A1" instead of "A1:A1") (h/t @clxl)
- source code alignment with js-xls
- option bookFiles controls whether zip files and keys are written to object
*** Default has been flipped from "true" to "false"
- updated SSF to 0.5.8
- updated test_files to 20140216 (tests also look at 2013 XLSB)
- added dist files (make dist)
- cellHTML controls HTML generation
- cellFormula controls formula output
- sheetStubs now defaults to false
- cleaned up unnecessary CSV quotes (fixed#45)
- updated test_files to 20140211
- updated SSF to 0.5.7
- removed unused main function
- removed some dead code
Cell object stores the formatted text in the `.w` field
- Raw format and types are preserved in the `.t`, `.v` fields
- Accessors have been updated to use the field
updates for older OOXML:
- ECMA-376 makes reference to old sstItem shared string item
- [MS-XLSX] xmlns for workbook
- XLSB basic support for number formats
- removed extraneous Strings table element
- formatting xml tags (rich_stress_test)
- updating test_files to 20130130
Mixed formatting stored in the shared string table.
Ultimately there will be a function to convert to HTML, but in the interim this
extracts plaintext and populates the right fields
To avoid future confusion, any code shared between this and the XLS project
relate to concepts discussed in ECMA-376 and hence fall within the purview of
this project's license. A similar note should appear in the license for the
other projects.