Commit Graph

280 Commits

Author SHA1 Message Date
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
Chris Wheeler
19c22fa34a Prevented crash on wbfactoid 2014-07-14 11:53:04 -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
altkatz
a96b723cda IE Compatibility and notes 2014-06-03 14:44:08 -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
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
eladxxx
5e9bca78f2 Initial implementation of style/theme parsing.
Huge thanks to @SheetJS for guidance on how to do all of this!

Experimental, guarded by the cellStyles option (default: false)
2014-05-29 09:18:23 +03: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
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
fbb2574191 removed stray comma (fixes ) 2014-05-17 11:57:29 -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 )
- 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
Hugues Malphettes
a66ff4462e Support cells for the 'd' date type 2014-02-15 11:15:10 +08: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
Hugues Malphettes
f5f9229ab2 Support custom properties
and return them as the hash workbook.Custprops
2014-02-14 11:39:03 +08:00
72d7707152 test cleanup 2014-02-13 03:48:41 -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
242d5c655e xlsb browser fix 2014-02-04 11:10:42 -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
Hugues Malphettes
9efa4e2aae Update the range of the sheet when creating a cell for the content of its comments 2014-01-21 06:05:00 +07:00
Hugues Malphettes
5d43dffc79 Share the code for parsing the rich text and use it to parse the comments. 2014-01-18 21:45:49 +08:00
Hugues Malphettes
36f7080a68 Comments maybe contain an empty text tag 2014-01-18 16:29:51 +08:00
kinwah
80a843ca3b Add parsing comment codes into bits/70_xlsx.js
Update test xlsx file to apachepoi_SimpleWithComments.xlsx
2014-01-16 11:42:25 +08: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
7a3ca6a1ab added simple typescript reference file 2013-11-15 05:35:40 -08: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
9e41edcbd2 cleaning up XLSX leak 2013-10-30 19:53:16 -07: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
5d79aca2da version bump 0.2.8: range fix
Fixes 
2013-10-28 13:28:17 -07:00
dd9ac7d97f Removed unnecessary console.error statements
Fixes 

h/t Sebmaster for pointing this out
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
247fd22c06 jshint passes 2013-10-10 02:44:18 -04:00
c5c3eebb09 LICENSE clarification; get_formulae function
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.
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
6716857483 shielding csv parser from unsupported formats 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
0d8fedfe1f added 'e' format from SSF 2013-10-10 02:44:18 -04:00
8bd3c624ac split xlsx.js into multiple files
run `make` to combine the files.

Files are named in numerical order based on the relative placement
2013-10-10 02:44:18 -04:00