Commit Graph

73 Commits

Author SHA1 Message Date
5187bc0b63 Basic AutoFilter Read/Write
- XLSX/XLSB read/write autofilter
- XLS/XLML/*ODS read autofilter
- Workbook Properties override via Props option
- XLSB write sheet protection

Issues:
- fixes #472 h/t @nishthasb
- fixes #478 h/t @yonatannn
- see #623 h/t @jcarvin
2017-04-10 01:11:32 -04:00
f43cacaf5e experimental dense representation
- 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)
2017-04-08 02:55:35 -04:00
b9dae134f2 TXT/PRN
- 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)
2017-04-02 20:16:03 -04:00
3a310bd3a7 Read/Write Comments
- XLSB/XLSX/XLML write comments
- BIFF2 write date cells (see #586 h/t @roccomuso)
- ODS read cell comments (fixed #315 h/t @yisk)
- XLSX / XLSB emit empty comments when necessary
- changed node detection logic (fixes #614 h/t @mhenris)

- fixes #605 h/t @ylbweb
- fixes #233 h/t @hanxi @osecki
- fixes #192 h/t @abarik1981 @stla
- fixes #183 h/t @aravindkoneru @ryangallen
2017-04-02 02:47:25 -04:00
b93569badf more formats from js-harb
- clarify usage of Props and Custprops (fixes #274 h/t @michahell)
- SYLK from js-harb
- DIF from js-harb
- HTML empty string bug fix
2017-04-01 03:32:12 -04:00
97f7c1d4bf sheet visibility
- 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
2017-03-31 14:46:42 -04:00
4743085cb5 XLSB/XLSM sheet rels and hyperlinks
- XLSB/XLSM workbook/worksheet code names for VBA
- XLSX/XLSB write hyperlinks
- updated CFB to 0.11.1

Fixes:
- fixes #615 h/t @johnothetree (XLSM CodeName)
- fixes #93 h/t @SheetJSDev (Write Hyperlinks)
- fixes #156 h/t @MayaGi (XLSX Write Hyperlinks)
- fixes #344 h/t @slonoed (XLSX Write Hyperlinks)
2017-03-30 20:47:35 -04:00
b89a876076 version bump 0.9.7: write features
- write !cols widths : XLSX XLSB XLML
- write hyperlinks   :           XLML
- XLSB convert date cell to numeric on write
- fixed issue with assigning self in jszip

issues:
- closes #607 h/t @jscheid
- closes #195 h/t @asfman
2017-03-28 18:03:03 -04:00
663270b762 XLS/XLSX/XLSB Interpret Chartsheets as Data Tables
- 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
2017-03-27 17:41:14 -04:00
70c48a74b9 API Improvements
- `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
2017-03-24 21:36:40 -04:00
Jim
9ae3a64af8 sheet_to_json default value
uses `defval` key in options object

fixes #583 h/t @jimjin
fixes #582 h/t @jimjin
fixes #147 h/t @jtadmor
2017-03-23 01:58:08 -04:00
69782ca211 version bump 0.9.5: IE8+ browser tests
- minor changes to work around IE incompatibilities
- updated shim and browser tests
2017-03-22 21:18:40 -04:00
LieJiang
d83986d31c SSF undefined string guard (fixes #584)
note: @sheetjsdev authored commit, original PR date/author used
2017-03-22 11:23:13 -04:00
a846f7184d utility improvements
- sheet_to_csv strip option (fixes #182 h/t @davidworkman9)
- sheet_to_json dateNF option (fixes #134 h/t @rotemtam)
- file type detection expanded to 4 byte magic number
2017-03-22 03:50:11 -04:00
c7010eec35 XLS/XLSX/XLSB/XLML cellDates support
- uniform number->date cell conversion
- update SSF to 0.9.0 (for is_date)
- namespaced rich str xml
- license file changed to appease GH automatic license detector

|     id      | author       | comment                                 |
|:------------|:-------------|:----------------------------------------|
| closes #581 | @Aymkdn      | XLSX cellDates + SSF.is_date            |
| closes #126 | @elad        | same as #581 h/t @SystemParadox         |
| closes #59  | @vratiu      | same as #581                            |
| closes #279 | @varunoberoi | raw json output uses date               |
2017-03-21 16:44:35 -04:00
245dd7fd82 Documentation improvements
- multiformat column widths (fixes #591 h/t @sheeeeep)
- skip nested BIFF files
2017-03-20 05:02:25 -04:00
Pieter Sheth-Voss
f90fbd32e5 Parse XLSX Styles
some changes picked from #263
2017-03-19 02:50:30 -04:00
7888070603 explicitly share styles and themes 2017-03-18 19:25:50 -04:00
5a3774e36e Formula write support
- XLSX/XLML/ODS/CSV formula write
- XLS Array/Formula record parsing
- ODS to/from CSF formula conversion
- XLML parse negative dates
- formula multiformat and roundtrip tests
- update SSF

Closes issues:
- closes #549 h/t @omershelef
- closes #306 h/t @akaustel
- closes #300 h/t @wawanopoulos
- closes #152 h/t @florf
- closes #103 h/t @christocracy
- closes #112 h/t @johnyesberg
- closes #307 h/t @alexanderknapstein
2017-03-17 20:45:06 -04:00
ea1873e572 version bump 0.9.3: multiformat alignment
- merge cells and stubs consistency
- character entity decoding
- cellDates processing for other formats
2017-03-15 21:17:24 -04:00
d3eaa62d45 unify stub cells with type z
- fixes #382 h/t @jugaltheshah @pimpelsang
- fixes #333 h/t @xushuheng0623 @abhishek1234321 @mateuszkrzeszowiec
- fixes #79 h/t @volodymyrl @elad
2017-03-15 04:19:02 -04:00
MURAKAMI Masahiko
05185e13f2 Fixed vbaraw parsing
- fixes #594 h/t @fossamagna
- fixes #348 h/t @aleramesh
2017-03-14 14:40:29 -04:00
88eb98587c reduced build output on travis 2017-03-14 13:24:40 -04:00
7cb978b846 XLML write support
- XLML write (fixes #173 h/t @SheetJSDev)
- removed old iteration style from README (see #592)
- CellXF & StyleXF fields (fixes #414 h/t @ronnywang)
2017-03-14 04:19:51 -04:00
71c23d9e2a version bump 0.9.1: cpexcel update
- codepage upgraded to 1.7.0
- remove require dark pattern (closes #554 h/t @keyiis)
- test for JSON header disambiguation
- utility functions documentation (fixes #424 h/t @dskrvk)
2017-03-10 18:39:17 -05:00
4880e9219f more formula parsing logic
- 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)
2017-03-10 03:39:51 -05:00
54b528eaed version bump 0.9.0: merged ODS into XLSX
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.
2017-03-09 20:09:18 -05:00
7b6fb7b327 version bump 0.8.8: HTML
- read MSO HTML (fixes #419 h/t @vineetl fixes #458 h/t @tienne)
- roll out xml namespace fix (closes #362 h/t @PierreOCXP)
- cellDates clarifications
2017-03-09 00:24:32 -05:00
ab2ecebac9 version bump 0.8.3: BIFF2 read/write
- basic support for parsing BIFF2-4
- basic support for writing BIFF2
- cleaned up some bad substr uses for IE6 compatibility
- added flow type annotations for xlsx.flow.js
- added numerous null guards (fixes #255 h/t @martinheidegger)
- README cleanup (fixes #539 h/t @oliversalzburg)
- pin jszip to local version (closes #408 h/t @limouri)

bower issues:

|  id  | author            | comment                                   |
|-----:|:------------------|:------------------------------------------|
| #254 | @kkirsche         | fixes #254 by removing version from json  |
| #165 | @vincentcialdella | fixes #165 by changing default script     |
| #180 | @owencraig        | fixes #180 by using xlsx.core.min.js      |

format issues:

|  id  | author            | comment                                   |
|-----:|:------------------|:------------------------------------------|
| #271 | @morstaine        | fixes #271 by reworking related parse fns |
| #504 | @JanSchuermannPH  | fixes #504 detect FullPaths h/t @Mithgol  |
| #508 | @basma-emad       | fixes #508 offending file used `x:` NS    |
2017-02-10 11:23:29 -08:00
86d6a093f0 version bump 0.8.2: ODS and cleanup
- README and example cleanup
- basic XLSB and ODS write support
- flow typecheck for ODS file
  Note: xlsx.js flow fails: https://github.com/facebook/flow/issues/380
- exposed jszip compression (fixes #220, closes #284)

README issues:

|  id  | author         | comment                                      |
|-----:|:---------------|:---------------------------------------------|
| #202 | @sao93859      | closes #202                                  |
| #211 | @alexanderchan | closes #211 corrected examples               |
| #327 | @cskaandorp    | changed saveAs example to match write tests  |
| #424 | @dskrvk        | added note about s2roa h/t @LeonardoPatignio |
| #496 | @jimmywarting  | closes #496 adapted rABS examples with rAAS  |

ODS file format issues:

|  id  | author         | comment                                      |
|-----:|:---------------|:---------------------------------------------|
| #148 | @user4815162342| closes #148 h/t @ziacik                      |
| #166 | @paulproteus   | closes #166 rudimentary ODS write support    |
| #177 | @ziacik        | closes #177                                  |
| #179 | @ziacik        | closes #179 use JSON when available          |
| #317 | @ziacik        | closes #317                                  |
| #328 | @think01       | closes #328                                  |
| #383 | @mdamt         | closes #383 duplicate cells should be copied |
| #430 | @RB-Lab        | closes #430                                  |
| #546 | @lgodard       | closes #546 thanks to other changes          |
2017-02-03 15:50:45 -05:00
2a756fffcc version bump 0.8.1: fixes to support node 4+
- 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+
2016-12-31 03:20:45 -05:00
0d38d4c0a0 version bump 0.8.0: unification with js-xls 0.7.5 2015-04-02 16:32:22 -04:00
f9097d403b version bump 0.7.12: cell type 'd'
- 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
2014-10-26 01:26:18 -04:00
61d2e55cc6 version bump 0.7.11: ODS hooks
- ODS hooks + very basic parser (ods.js)
- handle implicit row/col spec (h/t @EarlJS, see http://git.io/2lwOuA)
2014-10-09 22:22:38 -04:00
19f3a6ae76 version bump 0.7.10: cleanup
- build bower.json (h/t @jjstewart, following the change from js-xls)
- README clarification on !ref (fixes #82)
- XLSX treat empty <v/> tags as empty cells (h/t @clarlars)
- XLSX write !merges array (fixes #92)
2014-08-26 13:40:04 -04:00
d4999ac421 version bump 0.7.8: docs, defaults, details
- browser shim updated (h/t @wintersm for discovering this)
- smart tag ignores (h/t @lostinplace)
- sheet_to_row_object_array bugfix (fixes #80, h/t @ChrisBurkeBSD)
- README improved
- baltic and vietnamese codepages: updated codepage to 1.3.4
- iOS Numbers can handle inline strings -> disabling SST by default
- avoid Buffer accessors (see https://github.com/joyent/node/issues/7809)
- caching certain hot regexes
2014-07-28 09:22:32 -04:00
6bc24374b9 version bump 0.7.7: needs more cowbell
- 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
2014-06-29 14:29:45 -04:00
44b55c5c56 version bump 0.7.6: IE compatibility
- 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
2014-06-05 03:06:20 -04:00
009946339c version bump 0.7.5: more performance
- eliminated functional constructs in hot functions
- format try-catch block extracted into new function
- cpexcel + codepage updated to 1.2.0
- more efficient (and correct) clean implementation of RGB/HSL/tint algorithms
- xlsx binary --all option enables every extra formatting and saving option
- column widths parsed and saved (requires cellStyles:true)
2014-06-02 01:19:07 -04:00
d882757c0a enforcing 31 character sheet name restriction 2014-05-31 11:44:56 -04:00
f63426167d test.js fixes for windows 2014-05-29 21:09:20 -04:00
a3d9c4d9ac version bump 0.7.4: I/O improvements
- 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
2014-05-29 18:30:03 -04:00
86f21d76ce adding tmp to .npmignore [ci skip] 2014-05-22 13:15:47 -07:00
e1f8dbb863 version bump 0.7.2: bughunt
- 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
2014-05-22 05:16:51 -07:00
a1990758a0 version bump 0.7.1: test now ignores missing files
apparently openpyxl removed a few test files from their suite :/
2014-05-15 20:02:26 -07:00
d15b81e0e9 version bump 0.7.0: Basic write support
- 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`)
2014-05-15 17:33:34 -07:00
b645f6ef98 version bump 0.6.2: bits reorganization
- 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
2014-05-03 11:51:10 -07:00
6801958327 version bump 0.6.1: dist cleanup
- XLSX format strings properly handles literal UTF8 chars (test apachepoi_49273)
- codepage updated to 1.0.0
- jszip updated to 2.2.0 (node-only)
- dist now contains jszip and codepage dependencies
- updated test_files
2014-04-22 18:37:08 -07:00
dc2d391fbc version bump 0.6.0: avoid globals
- 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)
2014-04-15 02:04:03 -07:00
03588e332c version bump 0.5.16: content types et al
- added `bookVBA` option
- content type default corner cases
- fleshed out content type list
- XML parsing ignores namespaces
- updated SSF to 0.6.4
- testA tets enforce sheetRows=10 (shorter tests)
2014-04-03 15:51:54 -07:00