- 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
- 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
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
- 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
- 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)
- 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
- 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.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
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
Comments parts listed in the [Content Types] are parsed.
Sheets's relationships are parsed.
Comments parts are correlated to their corresponding sheets parts.
Comments's contents are added to the ref'ed cells.
Rich text styling properties are currently ignored.
For example:
{
"!ref": "A1:B3",
"A1": {
"v": 1,
"t": "n"
},
"B1": {
"v": "one",
"t": "s",
"r": "one",
"c": [
{ "a": "Yegor Kozlov",
"t": [ "Yegor Kozlov:",
"\r\nfirst cell" ]
}
]
}
}
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.
I changed to code to check for common js by looking for exports and module instead. Also, would it be possible to require fs inside the function where it's used?
Fixes#13.
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.
@nathanathan presented a case generated from excel, which had the cell:
<c r="E1" s="1"/>
The schema is incorrect here (advising to treat it as a NaN value). The right
thing to do is to treat it as `undefined`.