Commit Graph

410 Commits

Author SHA1 Message Date
Thomas Fussell
b50bd4890f std::size_t overload is ambiguous so convert it to a string first for xml attribute value 2016-08-13 15:04:26 -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
2fff29ba86 fix non-windows build errors 2016-08-06 10:50:29 -04: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
53e1757c2e fix passing non-const ref to temporary 2016-08-03 08:46:50 -04:00
Thomas Fussell
116e53fb0c remove shlwapi functions and use stat instead 2016-08-03 08:00:16 -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
f21d4c922c initialize tint, probably fixes the intermitten error 2016-08-02 00:34:07 -04:00
Thomas Fussell
ff401a0843 add temporary output for debugging 2016-08-02 00:20:29 -04:00
Thomas Fussell
0da0299328 remove extraneous source file 2016-08-01 18:51:11 -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
e8972ec423 fix infinite loop 2016-07-30 18:35:57 -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
6707736fa8 don't use worksheet id as the sheet index since it is an arbitrary value 2016-07-26 21:57:35 -04:00
Thomas Fussell
3a9fda8bfe improve relationships<=>worksheets handling, fixes #59 2016-07-26 20:13:09 -04:00
Adam Nielsen
22be565b92 Add new test to confirm read then write doesn't change worksheet order 2016-07-25 11:38:15 +10:00
Thomas Fussell
9a6bcdfc54 fix range iterator tests 2016-07-23 21:24:25 -04:00
Thomas Fussell
8ef1fe1a28 test and implement reading gradient fill 2016-07-23 20:41:55 -04:00
Thomas Fussell
51db47e2a8 test workbook and fix mising template specialization 2016-07-23 19:43:24 -04:00
Thomas Fussell
dfaec919ff test cell 2016-07-23 19:15:17 -04:00
Thomas Fussell
75dc7ebf26 get get_point_pos 2016-07-22 23:50:27 -04:00
Thomas Fussell
5cdaa6ec6b remove cell_reference comparisons 2016-07-22 23:41:57 -04:00
Thomas Fussell
d1d9471e15 test opening bad files 2016-07-22 23:21:53 -04:00
Thomas Fussell
b10b2a2bd3 test manifest 2016-07-22 22:48:50 -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
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
ce0ae608ee test inlinestr 2016-07-21 20:44: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
007619fb79 test range reference 2016-07-21 19:50:49 -04:00
Thomas Fussell
3dda90fa8d squeeze in some const_range_iterator coverage 2016-07-21 19:44:00 -04:00
Thomas Fussell
3fe69dd922 copy reference... 2016-07-21 19:39:07 -04:00
Thomas Fussell
9410b9fde3 test write page setup 2016-07-21 19:29:35 -04:00
Thomas Fussell
539b0f778e easy test 2016-07-20 20:10:19 -04:00
Thomas Fussell
6a4690d109 add exports for testing detail in windows dll 2016-07-20 19:58:09 -04:00
Thomas Fussell
894c46c920 finish renaming test helpers and fix windows errors 2016-07-20 19:54:24 -04:00
Thomas Fussell
0c9bde91b7 fix windows warnings 2016-07-20 19:47:47 -04:00
Thomas Fussell
e222e1b268 fix warnings 2016-07-20 19:16:51 -04:00
Thomas Fussell
dec6aaa49a test some stuff, rename some other stuff 2016-07-20 19:04:44 -04:00
Thomas Fussell
faccef71d7 test zip_file 2016-07-19 23:39:08 -04:00
Thomas Fussell
ef2b8de33d fix windows bug 2016-07-20 10:28:12 +08:00
Thomas Fussell
0b62d1e1d6 call static methods statically 2016-07-19 21:23:11 -04:00
Thomas Fussell
7b558c6857 fix windows includes 2016-07-19 21:19:34 -04:00
Thomas Fussell
a99feb4e57 test and fix zip_file::extract 2016-07-19 21:17:31 -04:00
Thomas Fussell
336014aca8 test reading styled text 2016-07-19 20:36:12 -04:00
Thomas Fussell
4b34273f1b test writing styled text 2016-07-19 20:27:14 -04:00
Thomas Fussell
d29a5f0245 test cell reference 2016-07-18 21:38:16 -04:00
Thomas Fussell
39369220f7 test cell comment 2016-07-18 21:26:14 -04:00
Thomas Fussell
36b676048f fix bug 2016-07-18 03:20:20 +08: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
93a5bccac2 test test test 2016-07-16 20:06:39 -04:00
Thomas Fussell
0502e1e2d4 test test test 2016-07-16 19:40:20 -04:00
Thomas Fussell
f614c737f5 test text 2016-07-16 18:42:56 -04:00
Thomas Fussell
f406f657c4 test some skipped branches 2016-07-16 15:57:50 -04:00
Thomas Fussell
25b995bc78 improve fill and style serialization test coverage 2016-07-14 22:09:57 -04:00
Thomas Fussell
64c95aa7c5 fix #58 2016-07-14 22:05:39 -04:00
Thomas Fussell
959d246995 start testing writing styles 2016-07-13 23:12:49 -04:00
Thomas Fussell
8e17339ef0 fix out of bounds error detected in msvc 2016-07-14 07:20:31 +08:00
Thomas Fussell
053508e8b7 test some number formatting edge cases 2016-07-11 18:10: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
24ac76ccd4 try exclude again 2016-07-09 14:38:47 -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
f70e4db1e1 cover column_t 2016-07-09 10:59:27 -04:00
Thomas Fussell
29b594940f cover time 2016-07-09 10:37:12 -04:00
Thomas Fussell
2e035bba62 cover const_worksheet_iterator 2016-07-09 10:20:08 -04:00
Thomas Fussell
60372fb145 cover alignment.cpp 2016-07-09 10:13:56 -04:00
Thomas Fussell
874ea7abeb cover worksheet_iterator.hpp 2016-07-09 10:02:58 -04:00
Thomas Fussell
a2814d3465 cover header_footer.hpp 2016-07-09 00:22:08 -04:00
Thomas Fussell
5147a282af implement fractional number format, continue implementing tests for builtin formats 2016-07-08 19:39:28 -04:00
Thomas Fussell
a1688c7e48 add size check to removal of trailing zeros in number formats 2016-07-06 18:50:30 +08:00
Thomas Fussell
9f1ac60d20 start implementing complex number formats, test builtin formats 2016-07-05 21:27:35 -04:00
Thomas Fussell
0ee716f94f Merge pull request #54 from xpol/fixes-test-warnings
Fixes warnings about compare double to bool.
2016-07-04 12:17:31 -04:00
Thomas Fussell
47f74fd4c1 fix some windows build problems and warnings 2016-07-05 00:09:51 +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
d8b9a71c59 fix std::abs call 2016-07-03 11:41:59 -04:00
Thomas Fussell
54c08246ce improve names to fix errors 2016-07-03 11:34:44 -04:00
Thomas Fussell
d92ad1ab9c finally implement a real number format parser. that was rough... 2016-07-03 11:22:53 -04:00
Xpol Wan
933beab976 Fixes warnings about compare double to bool. 2016-06-29 17:23:43 +08:00
Thomas Fussell
bdc770d23a improve number_format test coverage 2016-06-24 10:43:51 +01:00
Thomas Fussell
aa0dee3191 add more tests for complex number formats 2016-06-23 10:34:20 +01:00
Thomas Fussell
c7bc216026 improve worksheet test coverage 2016-06-23 09:33:10 +01:00
Thomas Fussell
4dae9438fb add utf8 bom to test_number_format because of euro symbol 2016-06-19 22:43:17 +01:00
Thomas Fussell
b4a7b1c849 fix typo 2016-06-19 22:23:32 +01:00
Thomas Fussell
112aa14e1a test number format locale currency symbol 2016-06-19 22:20:49 +01:00
Thomas Fussell
e26c5595d1 cover missed lines in fill.cpp 2016-06-19 21:58:55 +01:00
Thomas Fussell
523fe10898 test other condition types 2016-06-19 21:50:41 +01:00
Thomas Fussell
7b6b5517d9 finish testing fill 2016-06-19 21:30:15 +01:00
Thomas Fussell
f28e09d9a3 finish testing page setup 2016-06-19 21:16:05 +01:00
Thomas Fussell
2732cd6479 finish testing color 2016-06-19 21:06:12 +01:00
Thomas Fussell
ccb8e66879 remove test for unsigned long long for now 2016-06-19 19:49:41 +01:00
Thomas Fussell
27cb3a089d work on cell.cpp test coverage 2016-06-19 19:43:41 +01:00
Thomas Fussell
d194fe9640 oops, my python is leaking 2016-06-18 23:13:52 +01:00
Thomas Fussell
03080dbe1f test conditional formats 2016-06-18 23:07:22 +01:00
Thomas Fussell
d8eda2aeb4 test text section of custom number format 2016-06-18 10:06:02 +01:00
Thomas Fussell
0cd96b0494 begin creating number_format tests 2016-06-18 09:32:09 +01:00
Thomas Fussell
bc410d8835 uncomment test_reverse_column_major_iterators 2016-06-15 13:36:03 +01: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
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