Commit Graph

217 Commits

Author SHA1 Message Date
Crzyrndm
0d1bca3fd4 Remove hidden dependency on unordered map extraction order
Issue #279
2018-07-13 12:43:21 +12:00
Crzyrndm
53c193433f Ensure worksheets get a unique internal filename
Issue #279
2018-07-13 12:43:20 +12:00
Crzyrndm
cf8991a234 no need to recreate the uri 2018-07-13 12:43:19 +12:00
Crzyrndm
322490b397 re-write workbook::reorder_relationships
Issue #279
2018-07-13 12:43:19 +12:00
Crzyrndm
1ab25fa7fc
Merge branch 'dev' into dev-Issue298 2018-07-13 11:21:13 +12:00
Crzyrndm
b95919323d add more tests for worksheet iterator, add operator--
* operator-- completes the naive bidirectional iterator requirements
* tests for various construction and assignment behaviours
* tests for iteration and dereferencing behaviours
2018-07-10 12:40:56 +12:00
Crzyrndm
04b50d9b8e worksheet_iterator - operator* const overloads
Users may still want to dereference a const iterator (note: not a const_iterator).
Also use the "reference" typedef to ensure there is only 1 source of information
2018-07-10 12:40:54 +12:00
Crzyrndm
a47985b2db worksheet_iterator - rule of 5/0
For rule of 5/0, where no implementation is required, all 5 operations have been declared as defaulted. This is less likely to forget definitions for all 5 if required
- removed forwarding of copy ctor to assignment (which was defaulted already) in favour of defaulted copy ctor
- added defaulted move assignment/ctor and destructor

Changed workbook reference to a pointer to allow tests to compile (reference isn't rebindable so defaulted assignment is equivalent to deleted)
2018-07-10 12:40:52 +12:00
Crzyrndm
a8fa6637fe fix workbook::operator== always returning false, add tests for workbook::load
workbook::operator== was comparing the value of the raw pointer held by two std::unique_ptr's. By definition, this is always false in a well behaved program (if it's true, things go bang...). This then led to adding equality operators to nearly every other struct/class in xlnt to support workbook::operator==

workbook::load and the non-default ctors for loading data from a file are tested using the now functional equality operator

NOTE: a large number of copy ctors need updates/fixing. Many should be defaulted
2018-07-03 14:05:07 +12:00
Crzyrndm
bb04205dac workbook parameterised constructors
Issue #298
- all 4 are simply duplicating existing behaviour, but perhaps we can get a more optimal version in future
- istream ctor is intended as an extension point that can then be used to create free/static functions to work with any future data source (vector), while the path ctor is a convenience function for the common case (from file)
2018-07-02 21:33:27 +12:00
Thomas Fussell
e350a7734d implement abspath and archid flags, fixes some serialization problems 2018-05-28 23:13:57 -04:00
Thomas Fussell
50850ffb8a work on round-tripping for #230 2018-04-24 17:58:17 -04:00
Thomas Fussell
617f7a2525 improve hyperlinks and style round tripping 2018-03-21 09:03:37 -04:00
Thomas Fussell
410e73d594 work on hyperlinks, x14 extentions, other round tripping silliness 2018-03-16 21:21:16 -04:00
Thomas Fussell
0f0d3de75f implement sheetFormatPr, x14ac:dyDescent, reordering workbook rels so sheets come first after insertions 2018-01-26 14:32:00 -05:00
Thomas Fussell
90633d0e8e copyright year bump (2018) 2018-01-22 09:38:48 -05:00
vervbe
c05b9f33c1 Fix for issue #228: Worksheet ID is not always unique
- Worksheet ID now generated from the maximum of existing IDs
- Worksheet ID no longer copied from existing sheet
- Added tests
2017-09-26 08:33:06 +02:00
Thomas Fussell
8801a0e352 figured out the problem 2017-07-30 20:32:37 -07:00
Thomas Fussell
eaaa310cef start implementing xlsx2arrow params 2017-07-19 17:21:55 -07:00
Thomas Fussell
fee2319093 use static_cast instead of c-style cast for stream pointers 2017-07-11 20:40:55 -07:00
Thomas Fussell
f97ad6c1bd start working on streaming write 2017-07-04 17:52:46 -07:00
Thomas Fussell
498f3a6f71 Merge branch 'master' into feature/arrow 2017-07-02 19:03:24 -07:00
Thomas Fussell
9f9dfe7a75 qualify use of extended_property enum class, fixes #186 2017-06-26 13:26:34 +00:00
Thomas Fussell
6f716c6e89 work on streaming cell reading, using ugly copy-pasted code for now [ci
skip]
2017-06-24 11:39:48 -04:00
Thomas Fussell
72b8bd6b67 work out how to handle worksheet rels during streaming parsing 2017-06-21 09:17:06 -04:00
Thomas Fussell
a9fd6b064e minor fixes to get it to compile. lots of failing tests for now... 2017-06-20 13:29:50 -04:00
Thomas Fussell
d7e7526beb add failing tests and begin restructuring worksheet reading [ci skip] 2017-06-17 10:53:37 -04:00
Thomas Fussell
342184139f intermediate commit 2017-06-15 18:10:27 -04:00
Thomas Fussell
9d312ee7f4 make the code compile 2017-06-14 15:43:25 -04:00
Thomas Fussell
b3c044948f start architecting streaming read/write api 2017-06-12 10:34:35 -04:00
Thomas Fussell
d2be054b7c optimize shared strings and handle formula strings correctly 2017-05-10 08:44:25 -04:00
Thomas Fussell
b2a5110939 organize detail files, start wiring up encryption logic 2017-04-20 14:03:03 -04:00
Thomas Fussell
835e36d6ae initial commit withou cxxtest 2017-04-13 14:51:35 -04:00
Thomas Fussell
46df18c12b improve unicode tests 2017-04-13 10:58:40 -04:00
Thomas Fussell
5b9304960c accept utf8 passwords for decrypting workbooks, #144 2017-04-12 19:21:21 -04:00
Thomas Fussell
3e2a0fc15f pare down ltc 2017-04-11 12:02:35 -04:00
Thomas Fussell
83cbc3f7eb organize files 2017-04-11 11:26:57 -04:00
Thomas Fussell
c3d9b85530 document some style classes, start implementing builtin styles more correctly 2017-03-26 10:30:26 -04:00
Thomas Fussell
0d82aba640 improve 1d and 2d cell iteration for #135, including making empty cell skipping optional 2017-03-23 20:05:25 -04:00
Thomas Fussell
c7f61e38c1 restore worksheet::cell(column_t, row_t) method (#137) and move some single use classes/structs/enums into parent header 2017-03-22 21:44:59 -04:00
Thomas Fussell
3cfcc7246c clean up travis adding a build matrix 2017-03-22 21:41:00 -04:00
Thomas Fussell
3feee30eac remove of the cell value xlsx producer tests 2017-03-21 19:31:23 -04:00
Thomas Fussell
d8c9d14a98 clean up worksheet api 2017-03-20 20:17:09 -04:00
Thomas Fussell
cf7f4e6c83 clean up switches, closes #133 2017-03-20 19:22:46 -04:00
Thomas Fussell
9cdf31065c improve third-party lib handling for vcpkg 2017-02-28 00:00:25 -05:00
Thomas Fussell
d7b0e252fd write missing property attribute for dcterms:created and dcterms:modified, update headingpairs and titlesofparts when sheet titles change 2017-02-27 07:47:33 -05:00
Thomas Fussell
0db50a7b15 improve property handling, comment serialization 2017-02-25 08:55:11 -06:00
Thomas Fussell
767d498dac separate crypto_helper into header file, fix lots of stuff 2017-02-17 23:11:06 -06:00
sukoi26
b0664ded17 update check extension with xlnt function 2017-02-09 13:33:23 +01:00
sukoi26
4678048c21 check file extension workbook .xlsx 2017-02-07 22:49:02 +01:00