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
Thomas Fussell
913551920f
restructure
2014-05-09 15:54:06 -04:00
Thomas Fussell
26892bf42b
some changes
2014-05-08 15:32:12 -04:00
Thomas Fussell
d1337c48e4
some changes
2014-05-07 13:49:47 -04:00
Thomas Fussell
d646cfcaa1
initial commit
2014-05-06 17:28:38 -04:00