Commit Graph

447 Commits (master)

Author SHA1 Message Date
Thomas Fussell f97ad6c1bd start working on streaming write 2017-07-04 17:52:46 -07:00
Thomas Fussell cf2dc9d7fb include streaming reader in xlnt.hpp 2017-06-25 13:14:29 -04:00
Thomas Fussell 6f716c6e89 work on streaming cell reading, using ugly copy-pasted code for now [ci
skip]
2017-06-24 11:39:48 -04:00
Thomas Fussell 72b8bd6b67 work out how to handle worksheet rels during streaming parsing 2017-06-21 09:17:06 -04:00
Thomas Fussell a9fd6b064e minor fixes to get it to compile. lots of failing tests for now... 2017-06-20 13:29:50 -04:00
Thomas Fussell d7e7526beb add failing tests and begin restructuring worksheet reading [ci skip] 2017-06-17 10:53:37 -04:00
Thomas Fussell 342184139f intermediate commit 2017-06-15 18:10:27 -04:00
Thomas Fussell 9d312ee7f4 make the code compile 2017-06-14 15:43:25 -04:00
Thomas Fussell b3c044948f start architecting streaming read/write api 2017-06-12 10:34:35 -04:00
Thomas Fussell d2be054b7c optimize shared strings and handle formula strings correctly 2017-05-10 08:44:25 -04:00
Thomas Fussell be11002a93 fix clang warnings 2017-04-23 11:53:52 -04:00
Thomas Fussell 62f659b901 fix some rough edges 2017-04-13 14:57:27 -04:00
Thomas Fussell 835e36d6ae initial commit withou cxxtest 2017-04-13 14:51:35 -04:00
Thomas Fussell 46df18c12b improve unicode tests 2017-04-13 10:58:40 -04:00
Thomas Fussell 05fb40438c Merge branch 'master' of github.com:tfussell/xlnt 2017-04-11 17:57:56 -04:00
Thomas Fussell c902af7e17 fix doxygen warnings 2017-04-11 17:27:41 -04:00
Thomas Fussell 116106d568 fix conditional_format redefinition warning and don't try to write conditional formats for a worksheet without a stylesheet 2017-04-03 19:49:38 -04:00
Thomas Fussell d54ddea5cc Merge branch 'master' of http://github.com/tfussell/xlnt 2017-04-03 19:24:46 -04:00
Thomas Fussell 9766daacd5 initial implementation of conditional formatting plus a nifty little sample of converting images to workbooks 2017-04-03 19:24:36 -04:00
Thomas Fussell 83d2d18d1f finish documenting all headers (well enough). closes #28 2017-03-30 23:52:57 -04:00
Thomas Fussell c3d9b85530 document some style classes, start implementing builtin styles more correctly 2017-03-26 10:30:26 -04:00
Thomas Fussell 1121bcbe15 boring boring documentation 2017-03-25 11:22:21 -04:00
Thomas Fussell 0d82aba640 improve 1d and 2d cell iteration for #135, including making empty cell skipping optional 2017-03-23 20:05:25 -04:00
Thomas Fussell c7f61e38c1 restore worksheet::cell(column_t, row_t) method (#137) and move some single use classes/structs/enums into parent header 2017-03-22 21:44:59 -04:00
Thomas Fussell 3cfcc7246c clean up travis adding a build matrix 2017-03-22 21:41:00 -04:00
Thomas Fussell b914b064b7 remove some more extraneous worksheet methods 2017-03-20 20:33:15 -04:00
Thomas Fussell d8c9d14a98 clean up worksheet api 2017-03-20 20:17:09 -04:00
Thomas Fussell e617d140f0 implement unhandled_switch_case exception 2017-03-20 19:20:48 -04:00
Thomas Fussell e0e38a931c remove template from cell::value setter, closes #131 2017-03-20 19:20:12 -04:00
Thomas Fussell 07001e0c07 include functional for std::function 2017-03-19 14:39:33 -04:00
Thomas Fussell 8f4c82dffd add batch formatting methods to range class 2017-03-19 14:22:29 -04:00
Thomas Fussell d7b0e252fd write missing property attribute for dcterms:created and dcterms:modified, update headingpairs and titlesofparts when sheet titles change 2017-02-27 07:47:33 -05:00
Thomas Fussell 4ed8dae49c minor cleanup 2017-02-18 20:33:59 -06:00
sukoi26 60459bcd25 Merge remote-tracking branch 'upstream/master' 2017-02-18 09:27:06 +01:00
Thomas Fussell 767d498dac separate crypto_helper into header file, fix lots of stuff 2017-02-17 23:11:06 -06:00
sukoi26 bb8202f779 update for xf pivotButton quotedPrefix attributes 2017-02-14 22:02:51 +01:00
Thomas Fussell 84011553a8 rename some things and fix some formatting 2017-02-10 20:22:38 -08:00
sukoi26 26eacce248 font change for charset, outline shadow 2017-02-06 22:54:09 +01:00
Thomas Fussell 82d5f623de document some things 2017-01-26 19:57:19 -05:00
Thomas Fussell a2bfdee2f2 intermediate commit 2017-01-21 09:04:10 -05:00
Thomas Fussell 72470c6371 hardcode enum serialization/deserialization, improve metadata property comsumption 2017-01-16 13:05:19 -05:00
Thomas Fussell 571c0103b5 continue work on workbook metadata properties 2017-01-15 19:08:57 -05:00
Thomas Fussell f18e9dbc09 begin work on handling properties correctly 2017-01-14 14:09:01 -05:00
Thomas Fussell 2991872778 clean up namespace handling in consumer and producer, improve stylesheet consumption 2017-01-10 20:25:59 -05:00
Thomas Fussell 44b11d342c shift relationship ids down by one after deleting one to maintain contiguity, fixes #104 2017-01-08 14:12:55 -05:00
Thomas Fussell 45428c7f2b update copyright dates for 2017 2017-01-02 20:35:18 -05:00
Thomas Fussell c43561b4bd remove calcChain when no formulae remain in any cell, correct calcChain relationship type string, closes #98 2017-01-02 19:13:38 -05:00
Thomas Fussell afbab819c4 implement consumption of vt:lpwstr custom properties 2017-01-02 17:42:16 -05:00
Thomas Fussell 398bf7a3bb remove potentially problematic methods on optional, fix windows build 2016-12-29 19:00:27 -05:00
Thomas Fussell 66b5187e73 stop trying to produce non-excel style xlsx files 2016-12-29 18:36:29 -05:00
Thomas Fussell c637f412b6 continue working through xml problems as a result of fixing xml comparison 2016-12-26 09:38:26 -05:00
Thomas Fussell c8f2ca204b clang-format all source files, fix broken test helpers--lots of cleanup necessary as a result [ci skip] 2016-12-24 10:04:57 -05:00
Thomas Fussell 6c32563d18 rename formatted_text to rich_text to match the spec, also text_run to rich_text_run 2016-12-23 06:52:02 -05:00
Thomas Fussell 244314d426 rename formatted_text to rich_text to match the spec, also text_run to rich_text_run 2016-12-23 06:51:30 -05:00
Thomas Fussell 008461bf60 finish full header/footer implementation, add support for page breaks, clean up row/column properties interface 2016-12-22 18:57:22 -05:00
Thomas Fussell e250174d1f define hash struct for scoped enum for header_footer's unordered_map 2016-12-14 11:25:18 +01:00
Thomas Fussell d0ef4333b4 get horizontal and vertical alignment up to spec, handle enum serialization more correctly for #90 2016-12-10 18:22:26 +00:00
Thomas Fussell e1157625a5 begin refining headers and footers, remove dependency on pugixml 2016-12-10 00:18:50 +00:00
Thomas Fussell 860ad43506 clang format headers 2016-12-04 13:29:10 +01:00
Thomas Fussell 30776eb77c let's just get rid of the method 2016-12-03 21:31:48 +01:00
Thomas Fussell 7743750dfa will this work? 2016-12-03 21:19:54 +01:00
Thomas Fussell ea5a5d1fec be even more specific 2016-12-03 16:50:14 +01:00
Thomas Fussell 07d31cdbb3 fix more types and turn on benchmarks build on appveyor and travis 2016-12-03 16:46:48 +01:00
Thomas Fussell 33fdfd7ead manifest... 2016-12-03 16:40:24 +01:00
Thomas Fussell 9514984d42 getting closer 2016-12-03 16:31:10 +01:00
Thomas Fussell e6db86025c let's try that again 2016-12-03 16:05:35 +01:00
Thomas Fussell 8425e57937 elaborate types with the same names as methods 2016-12-03 15:58:51 +01:00
Thomas Fussell efa8c90e54 fix method return type declaration 2016-12-03 12:57:01 +01:00
Thomas Fussell eff00f9540 specify enum class type differently for msvc build 2016-12-03 10:46:11 +01:00
Thomas Fussell c55aac9ecf rename getters and setters to the property name, many breaking changes\! 2016-12-02 14:37:50 +01:00
Thomas Fussell ec6a010f8a remove unused modules and update documentation 2016-11-20 11:06:52 -05:00
Thomas Fussell 340a4b3195 add placeholder api comments for #28 2016-11-20 01:01:32 -05:00
Thomas Fussell 846ea8e0d6 add overload to worksheet::get_cell which accepts a column and row 2016-11-19 23:44:28 -05:00
Thomas Fussell 455be8fb5f fix mingw build, closes #80 2016-11-19 19:41:21 -05:00
Thomas Fussell dab1b0218d begin cleaning up xml handling in consumer 2016-11-19 16:42:16 -05:00
Thomas Fussell b781aeb989 clean up comment reading and sketch out vml drawing reading 2016-11-13 11:52:39 -05:00
Thomas Fussell cee933a1b8 finish implementing comment positioning, closes #68 2016-11-12 17:38:29 -05:00
Thomas Fussell f90e35e007 optimize format garbage collection and apply style fills to formats correctly, fixes #79, fix cell iteration, closes #73, add third-party licenses to LICENSE.md, update README, fix all clang and msvc warnings 2016-11-09 19:52:18 -05:00
Thomas Fussell d6c7162b17 fix gcc error caused by methods with the same names as classes 2016-11-07 22:05:49 -05:00
Thomas Fussell 75e0d9475b finish unicode filename implementation for #64, also fixes #78 2016-11-07 21:55:40 -05:00
Thomas Fussell ca692790fa implement garbage collection to remove unreferenced formats and constituent parts 2016-11-07 21:11:30 -05:00
Thomas Fussell 1474c8ab82 begin trying to garbage collect cell formats 2016-11-03 19:26:11 -04:00
Thomas Fussell f9e349ce8d Revert "working on styles, don't use yet"
This reverts commit 4e51e9e0e5.
2016-11-02 22:04:51 -04:00
Thomas Fussell 4e51e9e0e5 working on styles, don't use yet 2016-11-02 18:16:34 -04:00
Thomas Fussell eeba8ffa86 copy previous formatting when changing the format of a cell, closes #76 2016-11-01 08:50:29 -04:00
Thomas Fussell 98d506a5db skip unused gz sources in zlib, fix style equality operator exports 2016-10-31 21:53:22 -04:00
Thomas Fussell 862e6778e5 remove unused files 2016-10-31 20:49:38 -04:00
Thomas Fussell 0d97105122 clean up zip.cpp, enable and fix compiler warnings, use equality instead of hashing for style components, compile all cpp files in sample directory, track remote branches for submodules 2016-10-31 20:48:43 -04:00
Thomas Fussell 012dd0984e initial implementation of wstring filenames 2016-10-30 21:17:51 -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 0f7dc72070 create a static method in xlnt::fill to create a solid fill with a particular color to be the cell's background color 2016-10-29 12:17:22 -04:00
Thomas Fussell 3b17675bd1 fix linkage for msvc shared build 2016-10-29 10:43:43 -04:00
Thomas Fussell 5af753c443 fix windows and gcc build 2016-10-29 10:36:46 -04:00
Thomas Fussell 82311c96e4 implement reading of cell comments 2016-10-29 10:23: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 9c8cba9f3f finally figured out how to decrypt with botan--swapping back out for botan 2016-10-24 22:09:15 -04:00
Thomas Fussell 0a80c302b3 fix sheet deletion, #71 2016-10-22 13:53:44 -04:00
Thomas Fussell 4d20ccaa67 fix some xlsx consumption and production 2016-10-13 20:11:02 -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 a81a0a6dde use value_traits for enum parsing/serialization and refactor xlsx_producer helper functions 2016-09-18 11:32:59 -04:00
Thomas Fussell afb9c75369 fix windows build 2016-09-17 08:06:18 -04:00
Thomas Fussell cb5a9d8802 continue fixing up border and fill round tripping 2016-09-10 10:05:06 -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 300f694f04 missed some 2016-08-18 22:11:59 -04:00
Thomas Fussell c1ac0c790a clarify types 2016-08-18 22:03:31 -04:00
Thomas Fussell 3f0a3424e6 minor fixes 2016-08-18 21:57:26 -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 6acba8ee9c remove default field from margins and fix ref to non-const 2016-08-13 15:12:00 -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 237465f731 fix some build errors 2016-08-10 00:42:01 -10:00
Thomas Fussell 05ea6d0dbd fix some build errors 2016-08-10 00:32:09 -10:00
Thomas Fussell 20b9217cd8 encapsulate URIs with a class and improve path interface 2016-08-10 00:09:54 -10: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 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 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 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 51db47e2a8 test workbook and fix mising template specialization 2016-07-23 19:43:24 -04:00
Thomas Fussell 5cdaa6ec6b remove cell_reference comparisons 2016-07-22 23:41:57 -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 3376741996 work on docs 2016-07-21 23:25:24 -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 ffeb1b1046 remove unneeded number formats and finish testing number format 2016-07-21 20:15:53 -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 101ba5e49f remove some unneccessary encoding stuff 2016-07-17 13:49:59 -04:00
Thomas Fussell 0502e1e2d4 test test test 2016-07-16 19:40:20 -04:00
Thomas Fussell f406f657c4 test some skipped branches 2016-07-16 15:57:50 -04:00
Thomas Fussell 32707dde3b dll export pattern_fill and gradient_fill 2016-07-14 22:15:51 -04:00
Thomas Fussell 25b995bc78 improve fill and style serialization test coverage 2016-07-14 22:09: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 24b966cf86 export column_t friend functions, attempt to exclude test headers from coveralls 2016-07-09 14:21:10 -04:00
Thomas Fussell 60372fb145 cover alignment.cpp 2016-07-09 10:13:56 -04:00
Thomas Fussell c99d14792f Merge branch 'master' of github.com:tfussell/xlnt 2016-07-05 21:27:47 -04:00
Thomas Fussell 9f1ac60d20 start implementing complex number formats, test builtin formats 2016-07-05 21:27:35 -04:00
Xpol Wan 4976f54145 Fixes static build for msvc. 2016-07-05 13:03:00 +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 bdc770d23a improve number_format test coverage 2016-06-24 10:43:51 +01:00
Thomas Fussell c7bc216026 improve worksheet test coverage 2016-06-23 09:33:10 +01:00
Thomas Fussell 7b6b5517d9 finish testing fill 2016-06-19 21:30:15 +01:00
Thomas Fussell 27cb3a089d work on cell.cpp test coverage 2016-06-19 19:43:41 +01:00
Thomas Fussell e8c2dd37c3 Merge pull request #53 from xpol/fixes-reference-type-for-iterators
Fixes type for all iterator::reference.
2016-06-15 08:24:20 -04: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 f521974edc Merge pull request #52 from xpol/fix-linkage-for-utf8string
Add XLNT_CLASS to utf8string to fixes the linking error.
2016-06-15 08:22:56 -04:00
Thomas Fussell 5d2c75014b improve range iterators and their tests 2016-06-15 12:45:05 +01:00
Xpol Wan 5f7a76f6bd Its std::ptrdiff_t in <cstddef>. 2016-06-15 12:18:06 +08:00
Xpol Wan a0b8b8f5e2 Fixes type for all iterator::reference.
1. we have overloaded operator*() for all iterators, returning a value type T (not a reference).
2. we use the std::reverse_iterator, its operator*() returns a reference type, by default the reference type is T&.

follow implement  std::reverse_iterator::operator*() const are taken form VS2015:

```C++
// in class reverse_iterator

 reference operator*() const
  { // return designated value
  _RanIt _Tmp = current;
  return (*--_Tmp);
  }
```

The `_RanIt` is our base non reverse iterators, the type of `(*--_Tmp)` is `T`. and the `reference` is `T&`. This cause

> warning C4172: returning address of local variable or temporary

And it is bug.

This commit specifies explicitly the 5th template argument for all our iterators base class like `std::iterator<tag,T, ptrdiff_t, T*, T>`.
It make the `reference` to be actually `T` (the value type) and fixes the issue.
2016-06-15 12:05:16 +08:00
Xpol Wan 86002b5338 Add XLNT_CLASS to utf8string to fixes the linking error. 2016-06-15 11:30:51 +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 3d29186d6a improve enum serialization, closes #50 2016-06-12 19:59:59 -04:00
Thomas Fussell 7dafd2f3a3 clean up xlnt.hpp, closes #39 2016-06-11 15:50:03 -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 85e1b4a333 refactor styles... again 2016-06-10 13:40:50 -04:00
Thomas Fussell 4e9c48eba9 add missing header to main include file 2016-05-16 20:59:45 -04:00
Thomas Fussell 40b0f9908a remove misplaced text and text_run sources 2016-05-16 19:33:32 -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 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 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
Thomas Fussell 1fe590d181 add missing include in main header, closes #38 2016-04-21 00:20:03 -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 74bfdb6f7d clean up iterators 2016-01-24 11:15:49 -05:00
Thomas Fussell 34aa24bdd6 fix formatting 2016-01-17 22:23:31 -08:00
Thomas Fussell 55987bdad7 add support for osx frameworks, move optional into source tree so it can be used in framework 2015-12-26 13:31:55 -05:00
Thomas Fussell d62ad6731d update copyright year 2015-12-24 17:10:02 -05:00
Thomas Fussell a806997c22 add dll export to new hashable class 2015-12-24 16:27:27 -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 26d0ace151 fix #35 by using utfcpp for utf8 string validation 2015-12-22 14:23:47 -05:00