Commit Graph

351 Commits

Author SHA1 Message Date
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
5d2c75014b improve range iterators and their tests 2016-06-15 12:45:05 +01:00
Xpol Wan
eead279c58 compound assignments should implement the operation themself.
rather than depends on binary arithmetic operators, instead, binary arithmetic operators should reuse compound assignments.
2016-06-14 17:46:24 +08:00
Xpol Wan
da59c4a121 Remove doc comments in index_types.cpp.
They are duplicated with comments in index_types.hpp.
2016-06-14 17:24:24 +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
0efd097617 add hash for enum class for gcc 2016-06-12 20:15:00 -04:00
Thomas Fussell
3d29186d6a improve enum serialization, closes #50 2016-06-12 19:59:59 -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
d9124a2b23 add missing header 2016-06-11 10:17:58 -04:00
Thomas Fussell
6b56a75c9c add missing header 2016-06-11 10:09:29 -04:00
Thomas Fussell
2d28cd93e5 add missing header 2016-06-11 10:03:58 -04:00
Thomas Fussell
8c7a7f7a6f Merge branch 'master' of github.com:tfussell/xlnt 2016-06-11 01:12:30 -04:00
Thomas Fussell
85e1b4a333 refactor styles... again 2016-06-10 13:40:50 -04:00
Thomas Fussell
30275476c1 Merge pull request #48 from xpol/add-missing-member-for-workbook
Add implement const version of workbook::get_sheet_by_name().
2016-06-04 08:53:34 -06:00
Xpol Wan
9f1edce3bc Add range worksheet::rows(int row_offset, int column_offset) const. 2016-05-26 10:55:50 +08:00
Xpol Wan
aaabfe546a Add tests for const version of get_sheet_by_name(). 2016-05-26 10:44:35 +08:00
Xpol Wan
ba2d4743a6 Add implement const version of workbook::get_sheet_by_name().
and non const version are based on const version.
2016-05-26 10:05:30 +08:00
Thomas Fussell
3a589fe8ef define some built-in rgb colors, missing fill method 2016-05-16 19:31:44 -04:00
Thomas Fussell
b8e7931b10 remove accidental commit of temporary test 2016-05-15 15:06:55 -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
760d044f7d add utf8 bom to number_format source to resolve encoding issues in VS2015, closes 43 2016-05-15 10:24:34 -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
e1e29e1f30 Merge remote-tracking branch 'xpol/shared-string-with-different-formatted-parts' into styles-refactoring 2016-05-14 09:30:05 -04:00
Xpol Wan
6500f71f70 Remove log code. 2016-05-14 16:36:14 +08:00
Xpol Wan
c18110e282 add support for one cell with different formatted text nodes.
Eg, In one cell the text is abcdef, where abc and def have different format (e.g., different colours or fonts).
The the sharedString.xml in xlsx have multiple r node in si node:

```xml
    <si>
        <r>
            <t>abc</t>
        </r>
        <r>
            <rPr><sz val="10"/><color rgb="FFFF0000"/><rFont val="微软雅黑"/><charset val="134"/></rPr>
            <t>def</t>
        </r>
    </si>
```

Currently `shared_strings_serializer::read_shared_strings()` only reads the first r node, and should consider as a bug.

This commit fixes this bug by read all `r.t.text` values in one `si` node and concat the text into one single string.
2016-05-14 16:24:21 +08: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
Adam Nielsen
62c00744b0 Add test for duplicate shared string 2016-04-26 13:28:57 +10:00
Thomas Fussell
6471420ea8 Merge branch 'master' of github.com:tfussell/xlnt 2016-04-22 06:25:06 -04:00
Thomas Fussell
9c7bdb8191 change default workbook encoding to utf8 2016-04-22 06:24:54 -04:00
Adam Nielsen
c20795dd9f Add test for charset error when opening valid .xlsx 2016-04-22 16:30:32 +10:00
Thomas Fussell
c4e3829da2 Merge branch 'master' of github.com:tfussell/xlnt 2016-03-14 11:50:41 +08:00
Thomas Fussell
1e045d7e95 implement more cell formatting 2016-03-14 11:46:01 +08:00
Thomas Fussell
4d2c68a575 remove accidental commit of debugging test 2016-03-10 17:35:16 +08:00
Thomas Fussell
5bf3a660fe correct mixup between format and number_format 2016-03-10 17:34:54 +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
1c6c36d1a0 adding multiple sheets invalidates previous handles, duh 2016-03-09 03:14:57 -05:00
Thomas Fussell
ce7b30d7ab wrong header... 2016-03-09 14:02:14 +08:00
Thomas Fussell
bb1cbdb4ac add missing header 2016-03-09 13:57:37 +08:00
Thomas Fussell
e401e42bee use unambiguous constructor 2016-03-09 13:47:59 +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
ad69dcb335 need to copy worksheet_ipml before modifying worksheet container, otherwise handle become invalid during realloc 2016-03-08 11:35:22 +08:00
Thomas Fussell
b56722ed65 fix unsigned signed conversion warning 2016-03-07 13:42:33 +08:00
Thomas Fussell
d11a545d3f fix windows build 2016-03-07 13:28:52 +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
d62ad6731d update copyright year 2015-12-24 17:10:02 -05:00
Thomas Fussell
40eb6c9cb6 fix missing header for std::runtime_error 2015-12-24 15:58:31 -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
7dc48c7c0b fix issue #34 2015-12-22 14:39:41 -05:00
Thomas Fussell
1ec1b2ac83 add test to reproduce issue #34 2015-12-22 14:39:06 -05: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
d749c563e5 add test for timedelta 2015-11-22 00:33:56 -05:00
Thomas Fussell
eb961a91b9 fix missing header 2015-11-21 14:32:50 -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
6a098d3049 clean up platform specific overloads 2015-11-07 20:20:36 -05:00
Thomas Fussell
7d2e641966 overloads for all int types are tricky 2015-11-07 20:07:22 -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
500303b303 fix issue #18 2015-11-03 08:50:36 -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
35953661e8 fix missing header 2015-11-01 09:48:51 -05:00
Thomas Fussell
832294ace6 use new windows include in all files 2015-11-01 09:47:52 -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
3a50c2bb9d fix missing header 2015-10-31 06:58:59 -04:00
Thomas Fussell
6f4ba5e2df fix missing header 2015-10-31 06:56:54 -04:00
Thomas Fussell
b410ee87be fix missing iterator header 2015-10-31 06:54:41 -04:00
Thomas Fussell
12383a6c35 fix missing iterator header 2015-10-31 06:52:59 -04:00
Thomas Fussell
65a30e710f remove string_table 2015-10-31 06:49:10 -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
e9ebade1af fix travis build 2015-10-26 17:27:26 -04:00
Thomas Fussell
ae0d572776 fix travis build 2015-10-26 17:23:41 -04:00
Thomas Fussell
6b80eb5a95 fix travis build 2015-10-26 17:17:39 -04:00
Thomas Fussell
b108794579 references aren't assignable, switch them to pointers 2015-10-26 17:08:41 -04:00
Thomas Fussell
de48eeb2eb clean up style reading and writing, add travis config 2015-10-26 15:57:37 -04:00
Thomas Fussell
02e2dde4c7 fix minor linux build issues 2015-10-26 00:44:55 -04:00
Thomas Fussell
c07b97f3e8 improve printing cells to stream and round tripping 2015-10-26 00:26:48 -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
d08071a745 fix test failures on windows 2015-10-16 19:05: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
69032289ac copy and paste fix from writer::write_workbook 2015-10-06 01:03:38 -04:00
Thomas Fussell
81a242dc71 Merge branch 'master' of github.com:tfussell/xlnt 2015-10-02 10:03:00 -04:00
Thomas Fussell
ffedc2cb33 literals should be long doubles to make float comparison exact 2015-10-02 10:02:54 -04:00
Thomas Fussell
effe0e9340 fix long longs on linux 2015-10-02 01:57:39 -04:00
Thomas Fussell
8dc7342137 should fix issue #9 2015-10-01 23:22:46 -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
5e6ae7ea40 xlsx writers might not add a spans attr for worksheet rows, use worksheet dimensions in this case. also correct some formula reading logic 2015-09-29 09:16:37 -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
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
7829e2968c fix weird merge artifact 2014-08-01 09:53:32 -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
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
45b03c03ef minor fixes for gcc build 2014-06-18 15:12:44 -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
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
0f923d3c12 start working through new tests 2014-06-05 17:42:15 -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
3e78b7e49b restructure project 2014-05-21 10:20:30 -04:00
Thomas Fussell
ab590549a3 most tests : fixed! 2014-05-19 20:47:15 -04:00
Thomas Fussell
dc1a80ebae fix some more things 2014-05-18 21:29:19 -04:00
Thomas Fussell
841a455497 4 tests to go 2014-05-16 11:22:21 -04:00
Thomas Fussell
4f8a0b7f0d fixed some more tests, finally making some progress 2014-05-16 02:03:05 -04:00
Thomas Fussell
9b2f1b7369 old fixes from last night 2014-05-16 00:10:28 -04:00
Thomas Fussell
a3789a99a1 fixes 2014-05-15 17:12:09 -04:00
Thomas Fussell
89e6de69aa fix build on osx 2014-05-14 22:07:23 -04:00
Thomas Fussell
e516a3aa11 a little cleanup 2014-05-14 18:48:18 -04:00
Thomas Fussell
2ae7286482 add back old test suite renamed 2014-05-14 18:33:38 -04:00
Thomas Fussell
6465bac5e4 almost finished 2014-05-14 18:31:48 -04:00
Thomas Fussell
411a735098 tests compile now, but still some functions undefined 2014-05-13 16:32:33 -04:00
Thomas Fussell
55246437ea almost finished implementing core api 2014-05-13 14:40:28 -04:00
Thomas Fussell
14cb4e88a4 fixed some more tests 2014-05-12 19:59:33 -04:00
Thomas Fussell
99d609ce3a enable more tests 2014-05-12 13:42:28 -04:00
Thomas Fussell
d80ba60b31 fix some more tests 2014-05-11 20:52:32 -04:00
Thomas Fussell
df49f332bf start working through cell tests 2014-05-11 11:58:53 -04:00
Thomas Fussell
d1d93866dd fix build to compile on osx 2014-05-11 10:46:43 -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