Commit Graph

288 Commits

Author SHA1 Message Date
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
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
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
9bd6e92297 not done yet. I can't beleive how complicated this is 2016-04-30 16:19:45 -04:00
Adam Nielsen
62c00744b0 Add test for duplicate shared string 2016-04-26 13:28:57 +10:00
Adam Nielsen
c20795dd9f Add test for charset error when opening valid .xlsx 2016-04-22 16:30:32 +10:00
Thomas Fussell
0649526796 improve build 2016-01-16 21:07:02 -08:00
Thomas Fussell
1ec1b2ac83 add test to reproduce issue #34 2015-12-22 14:39:06 -05:00
Thomas Fussell
c456c920cc fix travis 2015-11-21 00:43:32 -05:00
Thomas Fussell
21315ce803 forgot to revert test helpers 2015-11-10 19:46:57 -05:00
Thomas Fussell
3e0c666263 add samples to be used in documentation and to be compiled 2015-11-10 19:16:50 -05:00
Thomas Fussell
7b5246f9dd finish up custom string class implementation 2015-11-07 18:37:23 -05:00
Thomas Fussell
665f8fbebc made a new string class for dll exports 2015-11-04 18:45:03 -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
c9b6b9e473 fix windows errors 2015-11-02 14:22:13 -05:00
Thomas Fussell
e16d381b11 remove accidental inclusion of some debug code 2015-11-01 23:56:49 -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
832294ace6 use new windows include in all files 2015-11-01 09:47:52 -05: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
ea46558d2c revert failing test 2015-10-26 18:13:42 -04:00
Thomas Fussell
c113bf0a98 try out failing test 2015-10-26 18:10:43 -04:00
Thomas Fussell
959ba08e4a fix travis build 2015-10-26 17:35:47 -04:00
Thomas Fussell
0d53471ff7 fix cmake pre build step 2015-10-26 16:26:47 -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
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
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
89b1aca602 add wrapper scripts for building, switch from premake to genie 2015-10-14 12:21:18 -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
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
ffedc2cb33 literals should be long doubles to make float comparison exact 2015-10-02 10:02:54 -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
6d39ac1d31 skip styles tests with less noise 2015-10-01 18:39:15 -04:00
Thomas Fussell
f25945172e no need to have cxxtest autogenerated file in source control 2015-10-01 18:36:18 -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
2831b25f09 add basic cmake support, not tested on windows, and clean up premake scripts 2015-09-23 19:24:43 -04:00
Thomas Fussell
cc1da90873 merge changes 2014-08-13 18:58:11 -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
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
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
c7dbf12b51 Merge branch 'master' of github.com:tfussell/xlnt 2014-07-19 14:43:56 -04:00
Thomas Fussell
a7bb9f0e77 lots of fixes 2014-07-19 14:43:48 -04:00
Thomas Fussell
321fda99f0 sync test_worksheet 2014-07-18 16:20:41 -04:00
Thomas Fussell
fdb4796c62 sync test_read 2014-07-18 15:18:23 -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
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
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
9aad5319e8 fix paths to relocated tests 2014-05-21 17:53:17 -04:00
Thomas Fussell
cf9f6f0ae9 hopefully the last major restructuring 2014-05-21 17:48:51 -04:00