Commit Graph

354 Commits

Author SHA1 Message Date
Thomas Fussell
5af753c443 fix windows and gcc build 2016-10-29 10:36:46 -04:00
Thomas Fussell
82311c96e4 implement reading of cell comments 2016-10-29 10:23:04 -04:00
Thomas Fussell
c49341c82f clean up cmake build, fix warnings, improve configuration, general
housekeeping, fixes #72, fixes #70
2016-10-25 20:22:22 -04:00
Thomas Fussell
9c8cba9f3f finally figured out how to decrypt with botan--swapping back out for botan 2016-10-24 22:09:15 -04:00
Thomas Fussell
0a80c302b3 fix sheet deletion, #71 2016-10-22 13:53:44 -04:00
Thomas Fussell
4d20ccaa67 fix some xlsx consumption and production 2016-10-13 20:11:02 -04:00
Thomas Fussell
a5d50b8ec6 commit in-progress work for reading/writing password protected workbooks, #69 (not working yet) 2016-10-10 07:28:49 -04:00
Thomas Fussell
a81a0a6dde use value_traits for enum parsing/serialization and refactor xlsx_producer helper functions 2016-09-18 11:32:59 -04:00
Thomas Fussell
afb9c75369 fix windows build 2016-09-17 08:06:18 -04:00
Thomas Fussell
cb5a9d8802 continue fixing up border and fill round tripping 2016-09-10 10:05:06 -04:00
Thomas Fussell
80ef8259c5 test_produce::test_produce_simple_excel() creates a file that opens in excel now 2016-09-07 18:02:46 -04:00
Thomas Fussell
300f694f04 missed some 2016-08-18 22:11:59 -04:00
Thomas Fussell
c1ac0c790a clarify types 2016-08-18 22:03:31 -04:00
Thomas Fussell
3f0a3424e6 minor fixes 2016-08-18 21:57:26 -04:00
Thomas Fussell
f9a45313a0 improve styles 2016-08-18 07:34:18 -04:00
Thomas Fussell
94881ce660 begin correctly implementing styles and formats 2016-08-16 00:23:49 -04:00
Thomas Fussell
a7067db2ba unskip a few more tests and fix xml helper node comparison 2016-08-13 19:44:45 -04:00
Thomas Fussell
6acba8ee9c remove default field from margins and fix ref to non-const 2016-08-13 15:12:00 -04:00
Thomas Fussell
31911b1afc remove schemata, remove test xml data, implement minimal round-tripping 2016-08-13 14:45:26 -04:00
Thomas Fussell
29ef278779 fix linux build 2016-08-12 23:26:57 -04:00
Thomas Fussell
4baeeb824f finish excel template, fix errors 2016-08-12 23:06:25 -04:00
Thomas Fussell
1b5bdbeb18 improve manifest interface, work on round-tripping 2016-08-12 00:22:14 -04:00
Thomas Fussell
ed591e1559 fix more build errors 2016-08-10 00:58:38 -10:00
Thomas Fussell
237465f731 fix some build errors 2016-08-10 00:42:01 -10:00
Thomas Fussell
05ea6d0dbd fix some build errors 2016-08-10 00:32:09 -10:00
Thomas Fussell
20b9217cd8 encapsulate URIs with a class and improve path interface 2016-08-10 00:09:54 -10:00
Thomas Fussell
6c829a235a improve manifest, implement true thumbnail handling, being refactoring serialization tests 2016-08-06 10:40:17 -04:00
Thomas Fussell
cf80c46b66 a little refactoring 2016-08-05 01:52:05 -04:00
Thomas Fussell
f679f8a8d1 remove document_properties and app_properties includes 2016-08-03 07:45:09 -04:00
Thomas Fussell
d15ef0f6bf remove unused zip_file function and delete removed source file packaging/document_properties 2016-08-03 07:41:42 -04:00
Thomas Fussell
ccc3995709 start correctly implementing opc 2016-08-03 00:12:18 -04:00
Thomas Fussell
69bd89da63 specialize std::hash for border::side and get rid of border::default 2016-08-01 18:47:17 -04:00
Thomas Fussell
4234a62b8b clean up api and do more testing 2016-08-01 18:33:43 -04:00
Thomas Fussell
cd3c0c5f0b test number_formatter and improve exceptions 2016-07-30 11:58:36 -04:00
Thomas Fussell
5bd1a79536 refactor custom exceptions 2016-07-29 18:55:49 -04:00
Thomas Fussell
d39f5b2299 improve manifest 2016-07-29 17:50:33 -04:00
Thomas Fussell
3a9fda8bfe improve relationships<=>worksheets handling, fixes #59 2016-07-26 20:13:09 -04:00
Thomas Fussell
9a6bcdfc54 fix range iterator tests 2016-07-23 21:24:25 -04:00
Thomas Fussell
51db47e2a8 test workbook and fix mising template specialization 2016-07-23 19:43:24 -04:00
Thomas Fussell
5cdaa6ec6b remove cell_reference comparisons 2016-07-22 23:41:57 -04:00
Thomas Fussell
c1364199ee improve manifest 2016-07-22 22:24:45 -04:00
Thomas Fussell
d3486bb986 improve constants 2016-07-22 20:26:02 -04:00
Thomas Fussell
f3caa31ccc remove include 2016-07-21 23:32:05 -04:00
Thomas Fussell
3376741996 work on docs 2016-07-21 23:25:24 -04:00
Thomas Fussell
c009278c60 clean up exceptions 2016-07-21 23:04:36 -04:00
Thomas Fussell
1859761775 improve workbook interface 2016-07-21 22:14:00 -04:00
Thomas Fussell
ffeb1b1046 remove unneeded number formats and finish testing number format 2016-07-21 20:15:53 -04:00
Thomas Fussell
dec6aaa49a test some stuff, rename some other stuff 2016-07-20 19:04:44 -04:00
Thomas Fussell
026058d111 test workbook some 2016-07-17 14:59:11 -04:00
Thomas Fussell
101ba5e49f remove some unneccessary encoding stuff 2016-07-17 13:49:59 -04:00
Thomas Fussell
0502e1e2d4 test test test 2016-07-16 19:40:20 -04:00
Thomas Fussell
f406f657c4 test some skipped branches 2016-07-16 15:57:50 -04:00
Thomas Fussell
32707dde3b dll export pattern_fill and gradient_fill 2016-07-14 22:15:51 -04:00
Thomas Fussell
25b995bc78 improve fill and style serialization test coverage 2016-07-14 22:09:57 -04:00
Thomas Fussell
8970bfaffb improve style writing coverage. i think that's enough for today 2016-07-09 15:12:53 -04:00
Thomas Fussell
24b966cf86 export column_t friend functions, attempt to exclude test headers from coveralls 2016-07-09 14:21:10 -04:00
Thomas Fussell
60372fb145 cover alignment.cpp 2016-07-09 10:13:56 -04:00
Thomas Fussell
c99d14792f Merge branch 'master' of github.com:tfussell/xlnt 2016-07-05 21:27:47 -04:00
Thomas Fussell
9f1ac60d20 start implementing complex number formats, test builtin formats 2016-07-05 21:27:35 -04:00
Xpol Wan
4976f54145 Fixes static build for msvc. 2016-07-05 13:03:00 +08:00
Thomas Fussell
9ae506c1ea move serialization classes to detail, recouple with pugixml (no reason to abstract) 2016-07-03 19:22:08 -04:00
Thomas Fussell
bdc770d23a improve number_format test coverage 2016-06-24 10:43:51 +01:00
Thomas Fussell
c7bc216026 improve worksheet test coverage 2016-06-23 09:33:10 +01:00
Thomas Fussell
7b6b5517d9 finish testing fill 2016-06-19 21:30:15 +01:00
Thomas Fussell
27cb3a089d work on cell.cpp test coverage 2016-06-19 19:43:41 +01:00
Thomas Fussell
e8c2dd37c3 Merge pull request #53 from xpol/fixes-reference-type-for-iterators
Fixes type for all iterator::reference.
2016-06-15 08:24:20 -04:00
Thomas Fussell
fbbd984779 Merge pull request #51 from xpol/refactor-index-types
Refactor index types
2016-06-15 08:23:35 -04:00
Thomas Fussell
f521974edc Merge pull request #52 from xpol/fix-linkage-for-utf8string
Add XLNT_CLASS to utf8string to fixes the linking error.
2016-06-15 08:22:56 -04:00
Thomas Fussell
5d2c75014b improve range iterators and their tests 2016-06-15 12:45:05 +01:00
Xpol Wan
5f7a76f6bd Its std::ptrdiff_t in <cstddef>. 2016-06-15 12:18:06 +08:00
Xpol Wan
a0b8b8f5e2 Fixes type for all iterator::reference.
1. we have overloaded operator*() for all iterators, returning a value type T (not a reference).
2. we use the std::reverse_iterator, its operator*() returns a reference type, by default the reference type is T&.

follow implement  std::reverse_iterator::operator*() const are taken form VS2015:

```C++
// in class reverse_iterator

 reference operator*() const
  { // return designated value
  _RanIt _Tmp = current;
  return (*--_Tmp);
  }
```

The `_RanIt` is our base non reverse iterators, the type of `(*--_Tmp)` is `T`. and the `reference` is `T&`. This cause

> warning C4172: returning address of local variable or temporary

And it is bug.

This commit specifies explicitly the 5th template argument for all our iterators base class like `std::iterator<tag,T, ptrdiff_t, T*, T>`.
It make the `reference` to be actually `T` (the value type) and fixes the issue.
2016-06-15 12:05:16 +08:00
Xpol Wan
86002b5338 Add XLNT_CLASS to utf8string to fixes the linking error. 2016-06-15 11:30:51 +08:00
Xpol Wan
211cd7a363 make binary arithmetic operators for column_t non-member. 2016-06-14 17:20:49 +08:00
Thomas Fussell
23f65602de revert coverage calculation and work on coverage 2016-06-13 23:36:26 -04:00
Thomas Fussell
3d29186d6a improve enum serialization, closes #50 2016-06-12 19:59:59 -04:00
Thomas Fussell
7dafd2f3a3 clean up xlnt.hpp, closes #39 2016-06-11 15:50:03 -04:00
Thomas Fussell
8361bcad74 clean up xlnt_config.hpp and fix visual studio warnings 2016-06-12 01:07:07 +08:00
Thomas Fussell
85e1b4a333 refactor styles... again 2016-06-10 13:40:50 -04:00
Thomas Fussell
4e9c48eba9 add missing header to main include file 2016-05-16 20:59:45 -04:00
Thomas Fussell
40b0f9908a remove misplaced text and text_run sources 2016-05-16 19:33:32 -04:00
Thomas Fussell
135af6e6c9 fix styles -- Excel wanted to repair saved workbooks 2016-05-15 15:03:02 -04:00
Thomas Fussell
365e2f93fc fix round-tripping of text runs with formatting 2016-05-15 11:51:32 -04:00
Thomas Fussell
3d4941e61d wire up text and text run serialization 2016-05-14 15:19:08 -04:00
Thomas Fussell
74cc503215 clarify naming of styles and formats 2016-05-14 13:57:07 -04:00
Thomas Fussell
916883e427 fix last few tests 2016-05-14 12:42:34 -04:00
Thomas Fussell
d2d53dfc6d only a few failing tests remain 2016-05-13 14:40:17 -04:00
Thomas Fussell
739be9d850 merge changes from other computer 2016-05-13 12:32:44 -04:00
Thomas Fussell
31b546b1d5 general API improvements 2016-05-11 19:24:53 -04:00
Thomas Fussell
713bd1ea12 almost done finally. still need to figure out the interaction between styles and named styles, maybe improve naming 2016-05-03 15:37:34 -04:00
Thomas Fussell
198483c88e the library compiles now. tests don't 2016-05-01 11:08:56 -04:00
Thomas Fussell
9bd6e92297 not done yet. I can't beleive how complicated this is 2016-04-30 16:19:45 -04:00
Thomas Fussell
720edc143f allow duplicate shared strings (why excel?). eventually we should do a garbage collection step that deduplicates shared strings after the workbook is loaded 2016-04-26 13:09:17 -04:00
Thomas Fussell
1fe590d181 add missing include in main header, closes #38 2016-04-21 00:20:03 -04:00
Thomas Fussell
1e045d7e95 implement more cell formatting 2016-03-14 11:46:01 +08:00
Thomas Fussell
5a9c18834d work on round-tripping of a workbook with complex formatting 2016-03-10 17:12:51 +08:00
Thomas Fussell
0c3a167f7c implement app properties reading/writing, case-insenstive border enum->string conversions for some style enums 2016-03-09 11:32:32 +08:00
Thomas Fussell
e7b062bb4c improve pane freezing, add print area and print title rows/cols, sync worksheet tests 2016-03-08 15:45:35 +08:00
Thomas Fussell
ca6dea8cbc update workbook tests 2016-03-06 10:39:50 +08:00
Thomas Fussell
74bfdb6f7d clean up iterators 2016-01-24 11:15:49 -05:00
Thomas Fussell
34aa24bdd6 fix formatting 2016-01-17 22:23:31 -08:00
Thomas Fussell
55987bdad7 add support for osx frameworks, move optional into source tree so it can be used in framework 2015-12-26 13:31:55 -05:00
Thomas Fussell
d62ad6731d update copyright year 2015-12-24 17:10:02 -05:00
Thomas Fussell
a806997c22 add dll export to new hashable class 2015-12-24 16:27:27 -05:00
Thomas Fussell
34669fde87 Merge pull request #37 from degaart/master
added worksheet::has_cell
2015-12-24 15:53:12 -05:00
Thomas Fussell
537b76dd3f clean up styles and hashing, add license boilerplate to all files, update readme, finish moving implementations to source files 2015-12-24 15:51:11 -05:00
degaart
7f5b76447f added worksheet::has_cell
Added method worksheet::has_cell to check wether a const-qualified
worksheet objecthas data for a given cell
2015-12-24 09:58:11 +03:00
Thomas Fussell
26d0ace151 fix #35 by using utfcpp for utf8 string validation 2015-12-22 14:23:47 -05:00
Thomas Fussell
6cbe7c0bf9 fix msvc errors 2015-11-22 13:02:37 -05:00
Thomas Fussell
b2b9732a09 work on tests 2015-11-22 12:41:27 -05:00
Thomas Fussell
acfb5c642b keep cleaning up iterators, documenting classes, and moving implementations to source files 2015-11-20 20:41:32 -05:00
Thomas Fussell
47b81a83de start moving all implementations to source files 2015-11-19 22:54:54 -05:00
Thomas Fussell
1e746ad587 fix windows configuration 2015-11-10 20:47:07 -05:00
Thomas Fussell
990c2a926f fix minor issues and configure script 2015-11-10 19:47:31 -05:00
Thomas Fussell
40fc54f55e revert to 3bb988c422 reluctantly 2015-11-10 18:58:54 -05:00
Thomas Fussell
6aaf380c26 fix windows build for dll and static lib 2015-11-07 20:00:54 -05:00
Thomas Fussell
7b5246f9dd finish up custom string class implementation 2015-11-07 18:37:23 -05:00
Thomas Fussell
4919e7ea00 fix some failing tests 2015-11-04 22:03:18 -05:00
Thomas Fussell
665f8fbebc made a new string class for dll exports 2015-11-04 18:45:03 -05:00
Thomas Fussell
3bb988c422 add macro to classes and functions for dll export/import 2015-11-04 00:36:14 -05:00
Thomas Fussell
73f1a8b9ee work on documentation 2015-11-03 18:26:33 -05:00
Thomas Fussell
7ec6e2d4df finish documenting all classes in cell module and clean up their APIs 2015-11-03 14:53:48 -05:00
Thomas Fussell
d2d669d6c5 clean up and document cell_reference 2015-11-03 09:51:23 -05:00
Thomas Fussell
3e99225652 forgot to update some includes 2015-11-03 09:06:01 -05:00
Thomas Fussell
a2919dfed8 add missing runtime_error include and improperly located headers 2015-11-03 08:46:40 -05:00
Thomas Fussell
2c8ccdfcda restructure source and clean up cmake scripts 2015-11-03 08:38:09 -05:00
Thomas Fussell
90d8d545ed fix windows build and warnings 2015-11-02 17:25:10 -05:00
Thomas Fussell
9c05e04f70 fix -Wall -Wextra -pedantic warnings 2015-11-02 16:45:05 -05:00
Thomas Fussell
c9b6b9e473 fix windows errors 2015-11-02 14:22:13 -05:00
Thomas Fussell
451abd1de6 clean up includes 2015-11-02 01:07:43 -05:00
Thomas Fussell
2f8032437c fix all tests 2015-11-01 23:52:19 -05:00
Thomas Fussell
fef68e460f restructure build system 2015-11-01 12:31:29 -05:00
Thomas Fussell
7f840bb904 clang-format all files, update .clang-format, fix minor compilation errors 2015-11-01 09:43:01 -05:00
Thomas Fussell
5e54200b4c update docs 2015-10-31 06:47:38 -04:00
Thomas Fussell
872d6ae16d update docs 2015-10-31 06:21:21 -04:00
Thomas Fussell
9dce7b8f0c almost done. phew... 2015-10-30 18:54:04 -04:00
Thomas Fussell
84e9dd099e keep refactoring serialization code, updating tests 2015-10-29 23:16:31 -04:00
Thomas Fussell
75ec0f8eee keep refactoring serialization code 2015-10-29 19:37:07 -04:00
Thomas Fussell
c884ad7f82 start refactoring serialization code 2015-10-29 13:46:56 -04:00
Thomas Fussell
3176ee828c implement row and column sizing 2015-10-28 15:08:54 -04:00
Thomas Fussell
0efb3d2f97 fix worksheet reordering on save 2015-10-26 23:06:00 -04:00
Thomas Fussell
959ba08e4a fix travis build 2015-10-26 17:35:47 -04:00
Thomas Fussell
de48eeb2eb clean up style reading and writing, add travis config 2015-10-26 15:57:37 -04:00
Thomas Fussell
c802a1f591 finished minimal styles implementation 2015-10-23 14:42:36 -04:00
Thomas Fussell
21b3d366d6 change some things 2015-10-20 23:30:10 -04:00
Thomas Fussell
cbab7a36cb clean up styles 2015-10-20 13:53:47 -04:00
Thomas Fussell
3b56af6b8e still working on styles, so close 2015-10-19 00:03:52 -04:00
Thomas Fussell
2f07e0ae62 continue implementing styles 2015-10-18 15:30:46 -04:00
Thomas Fussell
d1ea08fd13 minor linux fixes 2015-10-16 19:46:21 -04:00
Thomas Fussell
a63984969e improve date handling and printing 2015-10-16 18:35:11 -04:00
Thomas Fussell
e3bb0be98e work on writer 2015-10-14 18:05:13 -04:00
Thomas Fussell
6b3781d03b begin refactoring writing code 2015-10-14 00:03:48 -04:00
Thomas Fussell
7316e2184c replace pugiconfig.hpp with local header, fix some constness, dry up code 2015-10-13 16:35:22 -04:00
Thomas Fussell
c7c5eec2ab add more functionality for printing cells 2015-10-13 14:19:46 -04:00
Thomas Fussell
301e81d698 integrate value into cell, continue synchronizing with openpyxl 2.4 2015-10-13 13:56:07 -04:00
Thomas Fussell
77d6bbb41b fix precision on time to number, fix type guessing, fix long long on osx 2015-10-06 12:31:49 -04:00
Thomas Fussell
4001a47ec0 fix relative paths in relationships on round-trips. I really need to clean up relationship code 2015-10-06 10:32:52 -04:00
Thomas Fussell
effe0e9340 fix long longs on linux 2015-10-02 01:57:39 -04:00
Thomas Fussell
c03f7d28e4 begin synchronizing tests with openpyxl 2.4 branch, fix type guessing logic 2015-10-01 23:09:25 -04:00
Thomas Fussell
8f669c11db update copyright, add overloads for all int sizes, fix line ending in zip_file test 2015-10-01 18:14:42 -04:00
Thomas Fussell
4c3e07bd96 miniz archive type is forward declared so move include into zip_file.cpp where it's needed 2015-09-29 00:38:00 -04:00
Thomas Fussell
0a2e2f4ceb fix compile error due to different definitions of long long int on different platforms 2015-09-23 18:19:37 -04:00
Thomas Fussell
cc1da90873 merge changes 2014-08-13 18:58:11 -04:00
Thomas Fussell
01e8937ddf change include style 2014-08-13 18:56:34 -04:00
Thomas Fussell
5ccc345f8c some changes 2014-08-01 16:46:54 -04:00
Thomas Fussell
767b0708e2 merge 2014-08-01 09:51:28 -04:00
Thomas Fussell
57aa270f25 add new zip class to repo 2014-08-01 09:44:21 -04:00
Thomas Fussell
71e50ed70a fix for windows build 2014-07-29 18:20:11 -04:00
Thomas Fussell
ec1d9f7ecb fix clang warnings, update build script 2014-07-29 18:01:54 -04:00
Thomas Fussell
eb251f1e47 switch zlib to miniz, update documentation, update build system 2014-07-29 17:39:00 -04:00
Thomas Fussell
42085a9330 add pragma in main header for needed libraries 2014-07-28 18:22:57 -04:00
Thomas Fussell
01b9a26510 actually produce a working spreadsheet now 2014-07-28 17:55:57 -04:00
Thomas Fussell
16f8c3223a continue synchronizing tests and start implementing styles 2014-07-26 16:19:15 -04:00
Thomas Fussell
c5967686ff implement remaining tests 2014-07-25 16:39:25 -04:00
Thomas Fussell
24fbb75a9e fix some things 2014-07-24 17:31:46 -04:00
Thomas Fussell
bb064532ad all tests pass now 2014-07-23 20:51:28 -04:00
Thomas Fussell
93bd3d9989 fix some things 2014-07-23 16:00:09 -04:00
Thomas Fussell
12cc2ab36b start doing number formats the right way 2014-07-23 09:19:35 -04:00
Thomas Fussell
7978ccf4a5 clean up comment handling, still a bug in assignment 2014-07-21 09:34:57 -04:00
Thomas Fussell
aec8b465d9 add support for column-major iteration of worksheet 2014-07-19 17:42:04 -04:00
Thomas Fussell
ac5e29b125 fix some things 2014-07-19 16:59:05 -04:00
Thomas Fussell
a7bb9f0e77 lots of fixes 2014-07-19 14:43:48 -04:00
Thomas Fussell
a87c144340 fix dates and props 2014-07-16 19:53:45 -04:00
Thomas Fussell
4d62e0bb75 remove optimization, test_dump, and start fixing relationships 2014-06-15 13:06:47 -04:00
Thomas Fussell
463bc3a677 make tweaks for visual studio 2014 compiler 2014-06-15 12:16:34 -04:00
Thomas Fussell
65962951f1 start making reader/writer actually use package structure 2014-06-13 17:06:23 -04:00
Thomas Fussell
ff84734e2d fix problem from last commit 2014-06-13 15:05:24 -04:00
Thomas Fussell
21163cfb23 add some new functionality 2014-06-13 11:41:32 -04:00
Thomas Fussell
6d1eb3b149 all tests pass now, except for some strange nullptr errors in test_read_date_value() 2014-06-12 17:04:37 -04:00
Thomas Fussell
a7ead4ee18 work on datetime functionality 2014-06-11 16:41:34 -04:00
Thomas Fussell
f9ba11672d add some new tests, break some things 2014-06-10 18:36:31 -04:00
Thomas Fussell
98f2c5f10a still fixing things 2014-06-10 17:12:15 -04:00
Thomas Fussell
05e2bf251b fix some things 2014-06-10 00:29:49 -04:00
Thomas Fussell
b2ddc13a95 fix some more tests 2014-06-07 11:49:19 -04:00
Thomas Fussell
89be485062 restructure to match openpyxl 2.1 2014-06-05 16:19:31 -04:00
Thomas Fussell
3c04a7b9d2 enabled more tests 2014-06-04 18:42:17 -04:00
Thomas Fussell
7edef82577 change a few things 2014-05-30 18:42:25 -04:00
Thomas Fussell
e92f1a624e moved all impl classes to separate headers 2014-05-29 20:52:14 -04:00
Thomas Fussell
9ef1a5ef25 fix build for linux 2014-05-21 19:17:56 -04:00
Thomas Fussell
ce720d5846 fix build on osx 2014-05-21 18:13:32 -04:00
Thomas Fussell
cf9f6f0ae9 hopefully the last major restructuring 2014-05-21 17:48:51 -04:00