1
forked from sheetjs/sheetjs
Commit Graph

239 Commits

Author SHA1 Message Date
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  h/t @martinheidegger)
- README cleanup (fixes  h/t @oliversalzburg)
- pin jszip to local version (closes  h/t @limouri)

bower issues:

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

format issues:

|  id  | author            | comment                                   |
|-----:|:------------------|:------------------------------------------|
|  | @morstaine        | fixes  by reworking related parse fns |
|  | @JanSchuermannPH  | fixes  detect FullPaths h/t @Mithgol  |
|  | @basma-emad       | fixes  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 , closes )

README issues:

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

ODS file format issues:

|  id  | author         | comment                                      |
|-----:|:---------------|:---------------------------------------------|
|  | @user4815162342| closes  h/t @ziacik                      |
|  | @paulproteus   | closes  rudimentary ODS write support    |
|  | @ziacik        | closes                                   |
|  | @ziacik        | closes  use JSON when available          |
|  | @ziacik        | closes                                   |
|  | @think01       | closes                                   |
|  | @mdamt         | closes  duplicate cells should be copied |
|  | @RB-Lab        | closes                                   |
|  | @lgodard       | closes  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 )
- XLSX treat empty <v/> tags as empty cells (h/t @clarlars)
- XLSX write !merges array (fixes )
2014-08-26 13:40:04 -04:00
127a430e79 version bump 0.7.9: updating jszip to 2.4.0
Fixes 
2014-08-21 11:44:30 -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 , 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
aa46ada7b8 version bump 0.7.6-i: more browserify
h/t @volodymyrl
2014-06-27 11:11:33 -04:00
662c550d9e version bump 0.7.6-h: browserify issues
- updated codepage to 1.3.1 (h/t @volodymyrl)
2014-06-27 09:58:43 -04:00
87bbe636d3 version bump 0.7.6-a: npm is flaky [ci skip]
The original push showed up as failed, pushing again
2014-06-05 03:25:49 -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
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
489b9cdde4 version bump 0.7.3: performance
- 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
2014-05-25 02:04:08 -07: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
78a22d3d13 pinning jszip to 2.2.0 due to jszip bug
jszip 2.2.1 switched underlying zlib engines.  The new engine is broken.

(h/t @shawnpresser)

See:
- https://github.com/Stuk/jszip/issues/126
- https://github.com/nodeca/pako/issues/22
2014-04-30 17:24:27 -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 )
- coverage test spinner (to prevent travis timeouts)
2014-04-15 02:04:03 -07:00
0af8b20f0e version bump 0.5.17: do not throw for unknown tags
Fixes 
2014-04-04 16:03:43 -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
56b10f3616 version bump 0.5.15: converging tests
- test script normalized
- proper handling of empty sheet ranges
- xlsb sheetStubs and calcchain parsing
- jshint passes
- updated SSF to 0.6.2
2014-03-29 15:53:15 -07:00
d462e18846 version bump 0.5.14: XLSB comments
- 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
2014-03-28 19:05:50 -07:00
37cc0006f2 version bump 0.5.13: merge cells
merge ranges stored in !merges
- XLSB BrtMergeCell
- XLSX mergeCells (h/t @clayzermk1 for discussion )
- More XLSB Record cases
- merge test (js-xls test)
2014-03-23 14:30:00 -07:00
0a8304c076 version bump 0.5.12: pass AutoFilter tests
- XLSB Brt* records
2014-03-20 19:44:27 -07:00
2df14a3cce version bump 0.5.11: removing XLSB training wheels
- Brt* errors restored
- updated SSF to 0.5.9
2014-03-19 10:53:20 -07:00
49a37c9cf5 version bump 0.5.10-b: guard against corrupt SSF
- prevent overriding format code 0
- pivot table styles
2014-02-26 14:30:32 -05:00
ecee362e00 version bump 0.5.10-a: xlsx performance
- utf8 translation pushes to array rather than string concat
- large_strings test actually runs now (rather than blowing up)
2014-02-22 16:36:28 -05:00
ad20bf9b83 version bump 0.5.10: numbers iOS fix
Most writers write sheets to

xl/worksheets/sheetN.xml (where N is 1-indexed)

Numbers for iOS apparently writes to

xl/worksheets/sheet.xml (for first sheet)
xl/worksheets/sheetN.xml (N>1, 0-indexed -- sheet1.xml corresponds to 2nd sheet)

The right thing to do is to dig into workbook rels, but that's for another day
2014-02-21 11:41:37 -05:00
5c4b5827b5 version bump 0.5.9: sheetRows partial processing
- 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
2014-02-18 22:03:28 -05:00
33fbc389c5 version bump 0.5.8: bookFiles, default change
- 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)
2014-02-17 03:44:22 -05:00
c0a8bef07c version bump 0.5.7: WTF-ification
- opts.bookDeps parses calc chain; now chains are not parsed by default
- getzipdata safe option obviates some try-catch blocks
- parsing cell type 'd' (h/t @malphettes, yet again :)
- opts.WTF throws on errors
2014-02-15 00:08:18 -05:00
2cb06e0fb8 version bump 0.5.6: custom properties
- custom properties (h/t @hmalphettes)
- new option bookProps
- added minified target (using uglify-js)
2014-02-14 01:25:46 -05:00
1dceeffbe9 version bump 0.5.5: sheet names optimization
- bookSheets option skips worksheet parsing (used by xlsx2csv)
- filtered tests (by file extension)
- XLSB formulae stubs
2014-02-13 01:22:42 -05:00
7e9f218f0f version bump 0.5.4: more options
- cellHTML controls HTML generation
- cellFormula controls formula output
- sheetStubs now defaults to false

- cleaned up unnecessary CSV quotes (fixed )
- updated test_files to 20140211
- updated SSF to 0.5.7
- removed unused main function
- removed some dead code
2014-02-12 01:09:42 -05:00
27af8a6d6a version bump 0.5.3: options!
- read and readFile accept opts argument:
o cellNF (default false) true -> cell.z holds number format string
o sheetStubs (default true) false -> stub cells not emitted

- name consistency (parse_workbook -> parse_wb_xml)
- README updates
- CONTRIBUTING notes added
2014-02-07 05:53:40 -05:00
99d879ee30 version bump 0.5.2: chores
- node jszip updated to 2.1.0 as per https://github.com/Stuk/jszip/issues/84
- travis 0.8 tests restored
- get_formulae ignores undefined values
- updated test_files to 20140206
2014-02-06 17:02:11 -05:00
972897c9ae version bump 0.5.1: field reorg
- cell.r holds the raw rich text, cell.h now holds the html
  (version 0.5.0 cell.raw -> cell.r, cell.r -> cell.h)
- similar changes to comments and XLSB generation
- removed some unused binary methods
2014-02-05 08:39:21 -05:00
a96d8964e2 version bump 0.5.0: changes to cell interface
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
2014-02-03 19:00:44 -05:00
5c4bf62b83 version bump 0.4.3: shared strings and formatting
- XLSB basic support for number formats
- removed extraneous Strings table element
- formatting xml tags (rich_stress_test)
- updating test_files to 20130130
2014-01-31 06:52:18 -05:00
47dd984a6c version bump 0.4.2: using jszip module on node
- updated test_files
- new dependency in node: jszip
2014-01-29 22:06:14 -05:00
6990e66a56 version bump 0.4.1: more XLSB + cleanup
- updated ssf to 0.5.4
- cleaned up CSV string output
- added CSV tests (from test_files)
- passes lint
- inlineStr actually parses <is> block
- more XLSB bits
2014-01-29 01:00:09 -05:00
32d835ab81 version bump 0.4.0: very basic XLSB support
subfiles reshuffled (XLSB and XLSX/XLSM content separated)
2014-01-28 11:38:02 -05:00
844850abab version bump 0.3.10: xlsm support
different workbook content type, same representation
2014-01-25 17:28:27 -05:00
9c9aad5df3 version bump 0.3.9: general format used by default
(when no format or style is found, use general)

Other whitespace cleanup
2014-01-23 11:14:11 -05:00
a1ccaf511d version bump 0.3.8: more formatting
- updated SSF to 0.5.3

tests without baselines now try to generate CSV output
2014-01-23 01:20:19 -05:00
dd0a649c95 version bump 0.3.7: comments and coverage
- parsing comments (h/t @kinwahlai, @hmalphettes)
- XLSX.version now exposed in source
- code coverage
- updated SSF to 0.5.2
- updated tests/files
2014-01-21 23:58:26 -05:00
37753d8230 version bump 0.3.6: updating SSF
Addresses issue from LO Calc files generating invalid formats.

Link: https://github.com/SheetJS/js-xls/issues/24
2013-12-31 11:42:46 -05:00
afc4e281af version bump 0.3.5: updating SSF
- updated sheetnames tests
- updated ssf
2013-12-26 22:15:16 -05:00
e186e55341 version bump 0.3.4: updating SSF and related tests
version bump needed for npm
2013-12-16 11:38:10 -05:00
0a70e1950f updated SSF dependency 2013-11-12 09:08:31 -08:00
b4f7030634 version bump 0.3.3: malformed xlsx parsing
Files that cannot be processed by Excel 2011 were removed from the suite
2013-11-12 08:29:55 -08:00
0b642080bf version bump 0.3.2: cleanup
- updated jszip to version 2 (20121106)
- added some .match guards (2)
- updated package.json
2013-11-06 00:09:23 -08:00
fd6e3fa19b version bump 0.3.1: more cleanup
- xlsx2csv mirrors xls2csv options
- passes lint
- protection tag (1)
2013-10-30 15:42:27 -07:00
713f5aa417 version bump 0.3.0: necessary cleanup
- merged test repo with xls
- travis integration
- shifted to Apache 2.0 LICENSE
- mocha tests

The shift to Apache 2.0 was long overdue.  It's becoming clear that compliance
requires deeper integration with the xls libraries and other implementations
whose specifications are covered under the OSP.  It was a grave oversight for
the ISO and ECMA people to not try to implement parsers themselves, for if they
did I suspect the outcome would have been much different
2013-10-30 14:50:34 -07:00
5d79aca2da version bump 0.2.8: range fix
Fixes 
2013-10-28 13:28:17 -07:00
Sebastian Mayr
3d7b9c03c3 Add new tests, cleanup 2013-10-10 02:53:15 -04:00
Sebastian Mayr
c29004c408 Add testfile submodule, jasmine dependency and test script 2013-10-10 02:53:15 -04:00
d85183c75f version bump 0.2.7-d: CSV generation issue
double-quotes are emitted as \"\"
2013-10-10 02:53:02 -04:00
81f89d6f4e version bump 0.2.7-c: basic html from sst
Very basic rendering.  Will ultimately be a separate component (to share code
with the more general formatting case)
2013-10-10 02:44:18 -04:00
55ba84d561 version bump 0.2.7-b: formatted string support
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
2013-10-10 02:44:18 -04:00
8c8d855bb6 version bump 0.2.7: more cleanup 2013-10-10 02:44:18 -04:00
5341a85f55 version bump 0.2.6: IE10 Drag and Drop support 2013-10-10 02:44:18 -04:00
1dc777f521 version bump 0.2.5: IE fix
IE apparently doesn't like [^], so the checks have been replaced with [^\u2603]
(eliminating ☃ the unicode snowman)
2013-10-10 02:44:18 -04:00
d54b9eaa71 version bump 0.2.4: CSV unwind JS escaping 2013-10-10 02:44:18 -04:00
e3301e1ff1 version bump 0.2.3: refactoring
- internally renamed count->Count and uniqueCount->Unique like xlsjs
- factored out xml bool parsing
2013-10-10 02:44:18 -04:00
8fc0f91395 Fixed xml parsing of '0' in date1904 2013-10-10 02:44:18 -04:00
a0b73e3d4f Version bump 0.2.1: date1904 support
date1904 flag now propagated to SSF
2013-10-10 02:44:18 -04:00
cebc377e06 version bump 0.2.0: formatting
- Basic Format Code support (fixes )
- basic inlineStr parsing

note that the SSF stuff will ultimately rest in a separate repo
2013-10-10 02:44:18 -04:00
f1aa13dfaf version bump 0.1.5: proper parsing of strings
Note that CHAR actually appears to do different things in OSX and Windows ...

Need to build a separate codepage converter
2013-10-10 02:44:17 -04:00
d5da2eb017 version bump 0.1.4
- Handle 'e' error cells (sticking the actual error code in .err, .v undefined)
- Added quot and apos to encodings
2013-10-10 02:44:17 -04:00
91266af9aa Google Docs Sheet order incompatibility
Fixes .

Google Docs does not emit worksheet information, and furthermore does not follow
the sheet order as prescribed in the `[Content-Types].xml` metadata.  This
workaround forces it to treat the sheet list in Workbook as the map to the files
`xl/worksheets/sheet##.xml` even though the rIds are different.
2013-10-10 02:44:17 -04:00
28873fc0b5 version bump 0.1.2: Unicode Support
Motivated by inquiry regarding Hebrew support
2013-10-10 02:44:17 -04:00
8205420a8a version bump 0.1.1 2013-10-10 02:44:17 -04:00
65257d219e version bump 0.1.0 2013-10-10 02:44:17 -04:00
200d3eb759 version bump 0.0.10 2013-10-10 02:44:17 -04:00
b275e4d4b5 Boolean value parsing 2013-10-10 02:44:17 -04:00
1a18fff81d excel 2013 baseline parsing 2013-10-10 02:44:16 -04:00
cb9696f5bc version bump 0.0.7 2013-10-10 02:44:16 -04:00
bbe07bce56 version bump 0.0.6 2013-10-10 02:44:16 -04:00
125713bba7 npm version bump 2013-10-10 02:44:16 -04:00
f010c3165e Resolved issue with empty sheet generating single <sheetData/> tag 2013-10-10 02:44:16 -04:00
5806249485 initial 2013-10-10 02:43:57 -04:00