Commit Graph

175 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
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