Commit Graph

441 Commits

Author SHA1 Message Date
Thomas Fussell
72c6569020 cast literal to streampos 2016-10-30 20:43:47 -04:00
Thomas Fussell
e9a398cc7a commit missing file 2016-10-30 20:28:40 -04:00
Thomas Fussell
5b4de6a150 use streams to access zip files and their contents instead of std::stringstream to reduce memory usage, replaces miniz with zlib, closes #66 2016-10-30 15:48:40 -04:00
Thomas Fussell
6d749aaa91 implement writing comments, still need to fix comment vml 2016-10-29 16:31:30 -04:00
Thomas Fussell
82311c96e4 implement reading of cell comments 2016-10-29 10:23:04 -04:00
Thomas Fussell
fbcf190ca2 Merge branch 'master' of http://github.com/tfussell/xlnt 2016-10-25 20:24:04 -04:00
Thomas Fussell
c49341c82f clean up cmake build, fix warnings, improve configuration, general
housekeeping, fixes #72, fixes #70
2016-10-25 20:22:22 -04:00
Thomas Fussell
b83cf64287 fix shared string enumeration for #72 2016-10-25 20:01:09 -04:00
Thomas Fussell
5479e572a4 fix windows build 2016-10-24 23:16:50 -04:00
Thomas Fussell
0359d1404c add pthread flag 2016-10-24 23:11:15 -04:00
Thomas Fussell
5c1cc5f3a7 call botan configure directly and elaborate hash_algorithm type 2016-10-24 22:42:23 -04:00
Thomas Fussell
9c8cba9f3f finally figured out how to decrypt with botan--swapping back out for botan 2016-10-24 22:09:15 -04:00
Thomas Fussell
aea237a632 implement ooxml decryption (standard and agile) 2016-10-23 22:40:05 -04:00
Thomas Fussell
17b934852c ignore row styles for now 2016-10-23 21:12:47 -04:00
Thomas Fussell
fe30096963 make xlsx_consumer more flexible to optional elements/attributes 2016-10-18 19:29:04 -04:00
Thomas Fussell
4d20ccaa67 fix some xlsx consumption and production 2016-10-13 20:11:02 -04:00
Thomas Fussell
cf019f6af6 move parser parameter into a field, document some methods 2016-10-11 23:16:14 -04:00
Thomas Fussell
a5d50b8ec6 commit in-progress work for reading/writing password protected workbooks, #69 (not working yet) 2016-10-10 07:28:49 -04:00
Thomas Fussell
dadf852752 getting too fancy with aliases 2016-09-21 19:13:22 -04:00
Thomas Fussell
c3993039bc unskip another round-trip test, making progress 2016-09-21 19:04:16 -04:00
Thomas Fussell
b5c46ede07 fix parameters with the same name as their type to fix gcc errors 2016-09-19 18:58:04 -04:00
Thomas Fussell
ef6b693ce1 finish translating xlsx_producer 2016-09-19 18:52:11 -04:00
Thomas Fussell
941bd2a672 translate theme to libstudxml, ugh... 2016-09-18 21:49:37 -04:00
Thomas Fussell
a81a0a6dde use value_traits for enum parsing/serialization and refactor xlsx_producer helper functions 2016-09-18 11:32:59 -04:00
Thomas Fussell
45f61ee644 begin translating xml parsing and serialization to libstudxml 2016-09-16 22:59:13 -04:00
Thomas Fussell
a03805acbf begin testing styles more extensively 2016-09-11 14:57:34 -04:00
Thomas Fussell
cb5a9d8802 continue fixing up border and fill round tripping 2016-09-10 10:05:06 -04:00
Thomas Fussell
ba2186ff7b uncomment/unskip some tests 2016-09-07 22:39:13 -04:00
Thomas Fussell
7310bb5590 fix writing frozen panes 2016-09-07 18:48:08 -04:00
Thomas Fussell
80ef8259c5 test_produce::test_produce_simple_excel() creates a file that opens in excel now 2016-09-07 18:02:46 -04:00
Thomas Fussell
fd1d73950d add missing include for std::floor 2016-09-05 20:30:25 -07:00
Thomas Fussell
3d21a83c93 make xml comparisons in xml helper content-type aware, fix excel style workbook generation 2016-09-05 19:17:36 -07:00
Thomas Fussell
300f694f04 missed some 2016-08-18 22:11:59 -04:00
Thomas Fussell
f9a45313a0 improve styles 2016-08-18 07:34:18 -04:00
Thomas Fussell
94881ce660 begin correctly implementing styles and formats 2016-08-16 00:23:49 -04:00
Thomas Fussell
a7067db2ba unskip a few more tests and fix xml helper node comparison 2016-08-13 19:44:45 -04:00
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
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
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
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
4234a62b8b clean up api and do more testing 2016-08-01 18:33:43 -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
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
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
ffeb1b1046 remove unneeded number formats and finish testing number format 2016-07-21 20:15:53 -04:00
Thomas Fussell
6a4690d109 add exports for testing detail in windows dll 2016-07-20 19:58:09 -04:00
Thomas Fussell
0c9bde91b7 fix windows warnings 2016-07-20 19:47:47 -04:00
Thomas Fussell
dec6aaa49a test some stuff, rename some other stuff 2016-07-20 19:04:44 -04:00
Thomas Fussell
026058d111 test workbook some 2016-07-17 14:59:11 -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
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
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
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
Thomas Fussell
27cb3a089d work on cell.cpp test coverage 2016-06-19 19:43:41 +01:00
Thomas Fussell
85e1b4a333 refactor styles... again 2016-06-10 13:40:50 -04:00
Thomas Fussell
135af6e6c9 fix styles -- Excel wanted to repair saved workbooks 2016-05-15 15:03:02 -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
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
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
d62ad6731d update copyright year 2015-12-24 17:10:02 -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
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
40fc54f55e revert to 3bb988c422 reluctantly 2015-11-10 18:58:54 -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
3bb988c422 add macro to classes and functions for dll export/import 2015-11-04 00:36:14 -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
2c8ccdfcda restructure source and clean up cmake scripts 2015-11-03 08:38:09 -05:00
Thomas Fussell
9c05e04f70 fix -Wall -Wextra -pedantic warnings 2015-11-02 16:45:05 -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
9dce7b8f0c almost done. phew... 2015-10-30 18:54:04 -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
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
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
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
01e8937ddf change include style 2014-08-13 18:56:34 -04:00
Thomas Fussell
ec1d9f7ecb fix clang warnings, update build script 2014-07-29 18:01:54 -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
7978ccf4a5 clean up comment handling, still a bug in assignment 2014-07-21 09:34:57 -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
4d62e0bb75 remove optimization, test_dump, and start fixing relationships 2014-06-15 13:06:47 -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