Commit Graph

930 Commits

Author SHA1 Message Date
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
b851d1c143 prevent share string formatting from being overwritten during consumption 2017-05-09 09:01:01 -04:00
Thomas Fussell
f0b1e789a3 use xml:space=preserve when writing shared strings with trailing whitespace 2017-05-09 08:46:12 -04:00
Thomas Fussell
7ddd290e92 ignore dateCompatibility attribute too 2017-05-08 11:38:10 -04:00
Thomas Fussell
4aff818a87 kepp calcChain relationship, but don't actually write file to prevent excel file recovery warning 2017-05-08 10:51:56 -04:00
Thomas Fussell
a37a1e102a handle all workbookPr attributes according to ecma 376 2017-05-08 10:50:33 -04:00
Thomas Fussell
239c76659f work on writing a valid compound document 2017-05-02 22:22:22 -04:00
Thomas Fussell
a5c0d03bcc fix windows dll problem due to not exporting vector_streambufs 2017-04-30 23:25:57 -04:00
Thomas Fussell
e26364c388 better 2017-04-30 23:13:13 -04:00
Thomas Fussell
c677a14969 fix some stream reading. all tests passing (very very slowly) so now it's time for optimization 2017-04-30 21:16:05 -04:00
Thomas Fussell
ee642fc6c1 getting there 2017-04-30 20:21:47 -04:00
Thomas Fussell
4da901d387 forgot to commit new vector_streambuf source file 2017-04-30 17:37:35 -04:00
Thomas Fussell
b7bf16d47c implement input and output streambufs for compound document streams 2017-04-30 17:23:28 -04:00
Thomas Fussell
f42d3eee74 move vector_streambuf definitions to a separate file, fix zip buffer bug 2017-04-29 12:29:41 -04:00
Thomas Fussell
f5b5d67594 wip 2017-04-28 17:56:05 -04:00
Thomas Fussell
be37df3c86 intermediate commit 2017-04-28 12:42:42 -04:00
Thomas Fussell
6334907de7 work on short streams 2017-04-28 10:58:55 -04:00
Thomas Fussell
a90b32f386 switch to full in-memory approach, still working 2017-04-26 23:19:28 -04:00
Thomas Fussell
bb91308dd4 work in progress 2017-04-26 12:02:49 -04:00
Thomas Fussell
1e1e8272ae coding is done finally. time to debug some compound files 2017-04-25 18:14:47 -04:00
Thomas Fussell
562e163bf6 try to add a red black tree. I haven't done algorithms in a long time 2017-04-24 22:16:03 -04:00
Thomas Fussell
be59d522a6 still working. It's starting to come together 2017-04-24 19:23:51 -04:00
Thomas Fussell
c642db6cc2 continue fleshing out cdf writing, getting close now... 2017-04-24 16:06:58 -04:00
Thomas Fussell
16e1a1f124 intermediate commit 2017-04-24 08:50:10 -04:00
Thomas Fussell
8f4f24c180 start wiring up directory tree during writing 2017-04-23 20:51:50 -04:00
Thomas Fussell
c020d31f58 delete allocation table class 2017-04-23 20:27:16 -04:00
Thomas Fussell
322190d386 remove header offset and set sector size before loading master allocation table sectors 2017-04-23 18:56:31 -04:00
Thomas Fussell
126f22816b intermediate commit 2017-04-23 18:18:35 -04:00
Thomas Fussell
2fc692d694 separate compound file into a reader and a writer class 2017-04-23 16:56:01 -04:00
Thomas Fussell
be11002a93 fix clang warnings 2017-04-23 11:53:52 -04:00
Thomas Fussell
f38dc4169b finish rewriting pole, continue work on encryption 2017-04-22 20:43:26 -04:00
Thomas Fussell
89858e32b3 intermediate commit 2017-04-22 14:25:27 -04:00
Thomas Fussell
3a57242b68 clean up pole, get it ready for writing 2017-04-21 21:58:40 -04:00
Thomas Fussell
e2f733f6e0 intermediate commit 2017-04-21 19:52:02 -04:00
Thomas Fussell
4dedcd23dd use some placeholder data for agile key 2017-04-20 14:49:38 -04:00
Thomas Fussell
b26d764624 fix some gcc problems 2017-04-20 14:12:59 -04:00
Thomas Fussell
b2a5110939 organize detail files, start wiring up encryption logic 2017-04-20 14:03:03 -04:00
Thomas Fussell
40ba1012b3 move endian swap to a separate function 2017-04-19 16:55:41 -04:00
Thomas Fussell
868f661be7 use /usr/local as the default CMAKE_INSTALL_PREFIX, #138 2017-04-19 16:54:51 -04:00
Thomas Fussell
607e069b33 fix two crypto related todos 2017-04-19 16:00:33 -04:00
Thomas Fussell
ca17462f43 add missing include for std::transform 2017-04-18 20:11:16 -04:00
Thomas Fussell
83ea1ff58e implement password verification for standard encrypted xlsx files 2017-04-18 19:50:37 -04:00
Thomas Fussell
adda7b877a add meta tests (tests that test test functions), optimize sha calls, test incorrect passwords 2017-04-18 18:30:54 -04:00
Thomas Fussell
b0f1bf4b77 include headers for memcpy and size_t in sha implementations 2017-04-13 22:31:44 -04:00
Thomas Fussell
28cee5f14b use platform-dependent byteswap 2017-04-13 21:59:09 -04:00
Thomas Fussell
3b2a0ac5d6 switch to much faster project nayuki sha implementations 2017-04-13 21:45:07 -04:00
Thomas Fussell
c68aa8fc84 finish wiring up tests 2017-04-13 19:24:20 -04:00
Thomas Fussell
b85680c5ed start rewiring tests 2017-04-13 19:01:30 -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
8bf7d0c7a6 oops, forgot to include the locale, #144 2017-04-12 19:48:00 -04:00
Thomas Fussell
8b1c6c7465 a little platform dependent magic to fix build problems, affects #144 2017-04-12 19:44:18 -04:00
Thomas Fussell
5b9304960c accept utf8 passwords for decrypting workbooks, #144 2017-04-12 19:21:21 -04:00
Thomas Fussell
5450a23be1 apparently pArray is used in debug builds 2017-04-11 18:13:38 -04:00
Thomas Fussell
fd737912ce fix some vs-specific problems 2017-04-11 18:10:24 -04:00
Thomas Fussell
4b174ab268 fix misleading indentation in miniz, missing header, and missing forward declarations 2017-04-11 18:04:05 -04:00
Thomas Fussell
05fb40438c Merge branch 'master' of github.com:tfussell/xlnt 2017-04-11 17:57:56 -04:00
Thomas Fussell
cdcd49305d add base64 license 2017-04-11 17:55:52 -04:00
Thomas Fussell
9fa9343d89 fix some stuff 2017-04-11 17:49:07 -04:00
Thomas Fussell
4c40651451 add license header to some crypto files 2017-04-11 16:58:09 -04:00
Thomas Fussell
be0c1ac03a remove unused headers 2017-04-11 16:10:57 -04:00
Thomas Fussell
a7cd2c9ee5 link in libstudxml as object files 2017-04-11 16:04:17 -04:00
Thomas Fussell
077e181617 pare down ltc 2017-04-11 14:23:54 -04:00
Thomas Fussell
0d65569857 pare down ltc 2017-04-11 14:14:36 -04:00
Thomas Fussell
ea7b7074f0 pare down ltc 2017-04-11 13:48:09 -04:00
Thomas Fussell
36dc88cf24 pare down ltc 2017-04-11 13:35:50 -04:00
Thomas Fussell
cc165dbb67 pare down ltc 2017-04-11 13:11:05 -04:00
Thomas Fussell
c57e1a2bbe pare down ltc 2017-04-11 12:38:20 -04:00
Thomas Fussell
3e2a0fc15f pare down ltc 2017-04-11 12:02:35 -04:00
Thomas Fussell
83cbc3f7eb organize files 2017-04-11 11:26:57 -04:00
Thomas Fussell
fc4d284615 begin removing external dependencies 2017-04-11 11:08:16 -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
4ca534a83a fix size_t to row_t/column_t::index_t conversion warning 2017-03-23 20:13:05 -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
c9dc05597b ignore unknown documentation command warning for clang 2017-03-22 21:42:36 -04:00
Thomas Fussell
3cfcc7246c clean up travis adding a build matrix 2017-03-22 21:41:00 -04:00
Thomas Fussell
e8204133a9 switch xlsx_producer cell value call, how many more can there be? 2017-03-21 19:58:16 -04:00
Thomas Fussell
fcf4d424ff also remove some cell getter template specializations 2017-03-21 19:51:16 -04:00
Thomas Fussell
938990cee5 also fix cell test cell value overloads 2017-03-21 19:38:52 -04:00
Thomas Fussell
3feee30eac remove of the cell value xlsx producer tests 2017-03-21 19:31:23 -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
f862de1ff7 fix clang warning from extraneous semicolon 2017-03-20 19:23:44 -04:00
Thomas Fussell
ea95c6d33b fix gcc warning from unused variable 2017-03-20 19:23:22 -04:00
Thomas Fussell
cf7f4e6c83 clean up switches, closes #133 2017-03-20 19:22:46 -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
f7db4b0248 add default cases for hash_algorithm value traits serialization 2017-03-19 23:21:40 -04:00
Thomas Fussell
8f4c82dffd add batch formatting methods to range class 2017-03-19 14:22:29 -04:00
Thomas Fussell
fe041b9aa1 increment ws index when writing calcChain 2017-03-13 19:12:17 -04:00
Thomas Fussell
c11fcd169e initial implementation of calcChain parser. I can only imagine how many problems I'm overlooking here 2017-03-13 19:10:14 -04:00
Thomas Fussell
f908dca6fe bump version to 0.9.4 2017-03-12 17:33:52 -04:00
Thomas Fussell
80c7664509 add cxxtest to the source tree, external depepdencies are giving me a headache 2017-03-11 14:05:50 -05:00
Thomas Fussell
bb600ee1ce don't specify release libs for cryptopp and zlib 2017-03-11 11:53:54 -05:00
Thomas Fussell
b4d84f29f1 link zlib in a better way 2017-03-11 10:37:28 -05:00
Thomas Fussell
924b5a4a71 make zlib part of xlnt's link interface 2017-03-11 10:22:59 -05:00
Thomas Fussell
e93e8ed091 fix linking 2017-03-10 19:00:10 -05:00
Thomas Fussell
29ea2a4e99 install expat with vcpkg on appveyor, always link cryptopp and zlib 2017-03-10 18:48:22 -05:00
Thomas Fussell
daae577178 stop trying to build zlib and cryptopp locally 2017-03-10 18:33:20 -05:00
Thomas Fussell
5b61145a0b only expect alternatecontent if it's present 2017-03-09 21:35:36 -05:00
sukoi26
a6e9907b14 Merge pull request #3 from tfussell/master
update
2017-03-06 19:46:46 +01:00
Thomas Fussell
0aa26019e2 clean up cmake lists 2017-03-05 22:39:27 -05:00
sukoi26
d9f755c67b Merge pull request #2 from tfussell/master
update tfussel
2017-03-02 19:31:54 +01:00
Thomas Fussell
3db6cc8f0f use externalproject instead of git submodules for dependencies 2017-03-02 08:41:17 -05:00
sukoi26
fc1d73fee2 Merge pull request #1 from tfussell/master
update
2017-03-01 19:42:41 +01:00
Thomas Fussell
9cdf31065c improve third-party lib handling for vcpkg 2017-02-28 00:00:25 -05: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
0db50a7b15 improve property handling, comment serialization 2017-02-25 08:55:11 -06:00
Thomas Fussell
9535f94e38 don't attempt to garbage collect cells without formulae, closes #121 2017-02-25 08:54:38 -06:00
sukoi26
fcb16ed655 comment change skip "mc:Ignorable" attribut and "mc:alternateContent"
concern  location of the comment
"the Ignorable attribute specifies namespaces that can be ignored when they are not understood by the consuming application. Alternate-Content elements specify markup alternatives that can be chosen by an application at run time. For example, Word 2013 can choose only the markup alternative that it recognizes. The complete list of compatibility-rule attributes and alternate-content elements and their details can be found in the specification. " and so  to  implement
2017-02-25 11:50:45 +01:00
sukoi26
2daf1dd32a boder style upper case name
Value must be one of {‘medium’, ‘mediumDashDot’, ‘mediumDashed’, ‘dashDotDot’, ‘double’, ‘dotted’, ‘mediumDashDotDot’, ‘thick’, ‘thin’, ‘hair’, ‘dashed’, ‘slantDashDot’, ‘dashDot’}
2017-02-24 23:14:03 +01:00
sukoi26
07cefa4a2d border style upper case letter
Value must be one of {‘medium’, ‘mediumDashDot’, ‘mediumDashed’, ‘dashDotDot’, ‘double’, ‘dotted’, ‘mediumDashDotDot’, ‘thick’, ‘thin’, ‘hair’, ‘dashed’, ‘slantDashDot’, ‘dashDot’}
2017-02-24 23:10:57 +01: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
b758b5f7e5 recommit "rename some things and fix some formatting" 2017-02-14 22:45:44 +01:00
sukoi26
6b9995be44 recommit "rename some things and fix some formatting" 2017-02-14 22:33:54 +01:00
sukoi26
dc3decd0be fix some comments on autofilter update
push mistake
2017-02-14 22:11:31 +01:00
sukoi26
bb8202f779 update for xf pivotButton quotedPrefix attributes 2017-02-14 22:02:51 +01:00
sukoi26
8fa929256d update quotePrefix location , add pivotButton 2017-02-13 16:28:32 +01:00
sukoi26
167c14e908 attribute "quotePrefix" in style
skip temporary , to analyze the using
2017-02-13 15:01:42 +01:00
sukoi26
0c517a9b0a autofilter complex type
a filter is a complex type to manage 
<autoFilter ref="A1:D25"> 
  <filterColumn colId="0"> 
    <filters> 
      <filter val="Southeast" /> 
      <filter val="Northeast" /> 
    </filters> 
  </filterColumn> 
</autoFilter>
2017-02-13 13:41:35 +01:00
Thomas Fussell
84011553a8 rename some things and fix some formatting 2017-02-10 20:22:38 -08:00
sukoi26
b0664ded17 update check extension with xlnt function 2017-02-09 13:33:23 +01:00
sukoi26
4678048c21 check file extension workbook .xlsx 2017-02-07 22:49:02 +01:00
sukoi26
3fee3f0eb5 skip comment "shapeId" 2017-02-07 15:13:34 +01:00
sukoi26
d7486830a6 comment changes anchor() , in element() 2017-02-06 23:00:45 +01:00
sukoi26
26eacce248 font change for charset, outline shadow 2017-02-06 22:54:09 +01:00
Thomas Fussell
89be3d83df instead of always writing at least one style, don't write cellStyleXfs and cellStyles at all when there are no styles defined 2017-02-03 19:40:13 -06:00
sukoi26
09d9561683 update problem on char latest commit 2017-01-28 10:02:02 +01:00
sukoi26
078fab6953 problem char latest change 2017-01-28 00:15:18 +01:00
sukoi26
833d5e81ae problem char on latest change 2017-01-28 00:13:03 +01:00
sukoi26
a1cf2fefd2 update for style xfs
on file xl\styles.xml file find <cellStyleXfs count="0"/>
problem need count 1
2017-01-28 00:08:06 +01:00
sukoi26
b83dcd6a1f variant read, bool change take in account number(0,1) or text(false, true) 2017-01-27 23:48:27 +01:00
Thomas Fussell
e14e595b6a document some things 2017-01-27 23:41:05 +01:00
Thomas Fussell
9907f5a8c8 re-enable round-trip tests, continue condensing test files 2017-01-27 23:41:05 +01:00
alaw
9262576f27 custom-properties bool variant change i4 to bool 2017-01-22 19:34:40 +01:00
Thomas Fussell
0c100e166a fix up comments, hyperlinks, and formulae consumption tests 2017-01-21 19:12:26 -05:00
Thomas Fussell
7a991da9df Merge branch 'master' of http://github.com/tfussell/xlnt 2017-01-21 10:29:32 -05:00
Thomas Fussell
22c1f08b83 fix custom property pids 2017-01-21 10:29:23 -05:00
Thomas Fussell
e4ec1a2850 use system packages for zlib, cryptopp, and cxxtest. WIP [ci skip] 2017-01-21 10:12:08 -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
753597510d Merge branch 'master' of https://github.com/sukoi26/xlnt into sukoi26-master 2017-01-10 20:28:06 -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
3acd06b857 get relationship strings up to spec, closes #106 2017-01-10 20:25:11 -05:00
Thomas Fussell
bef9effa12 shift relationship ids down by one after deleting one to maintain contiguity, fixes #104 2017-01-10 22:14:33 +01:00
Thomas Fussell
a66c0d1f3e remove two more linux-specific overloads and fix the call that was requiring them 2017-01-10 22:14:33 +01:00
Thomas Fussell
7100b64e45 remove long long overloads for cell::value, let's see if this breaks anything 2017-01-10 22:14:33 +01:00
Thomas Fussell
90c7e929a9 clean up test xml_helper, rename zip to zstream 2017-01-10 22:14:33 +01: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
e9c8116b0d remove two more linux-specific overloads and fix the call that was requiring them 2017-01-05 08:09:08 -05:00
Thomas Fussell
a0dea36605 remove long long overloads for cell::value, let's see if this breaks anything 2017-01-04 21:15:29 -05:00
Thomas Fussell
cc1a5e15f6 clean up test xml_helper, rename zip to zstream 2017-01-04 19:02:31 -05:00
sukoi26
32d3e7a61c Update xlsx_consumer.cpp 2017-01-04 18:53:45 +01: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
34304fd9c7 define worksheet::add_row_properties, closes #97 2017-01-02 18:36:33 -05:00
Thomas Fussell
186ec184e2 Merge branch 'master' of github.com:tfussell/xlnt 2017-01-02 18:32:17 -05:00
Thomas Fussell
e4d18b5603 skip optional protection attributes if they're not present, closes #93 2017-01-02 18:32:10 -05:00
Thomas Fussell
ffdf570907 remove incorrect link on static build 2017-01-02 18:19:24 -05:00
Thomas Fussell
8362913aa6 export workbook properties template specializations correctly 2017-01-02 18:09:51 -05:00
Thomas Fussell
afbab819c4 implement consumption of vt:lpwstr custom properties 2017-01-02 17:42:16 -05:00
Thomas Fussell
42c9233ad9 compile and link third-party amalgamation as a static lib instead of object files and fix clang warnings in cryptopp 2017-01-02 17:41:39 -05:00
Thomas Fussell
38cb446e3e remove cryptopp-object from static xlnt 2017-01-02 12:03:22 -05:00
Thomas Fussell
ccd2a0eb1e finally figure out how to build cryptopp directly rather than as an external project, time to test on other platforms 2017-01-02 10:47:54 -05:00
Thomas Fussell
ab1af4f73e apparently evaluation order is unspecified for assignment causing an off-by-one in gcc 2017-01-01 18:16:38 -05:00
Thomas Fussell
cdb97fda82 try that again 2017-01-01 09:12:01 -05:00
Thomas Fussell
7a7d44b693 use make_pair instead of braced initializer in rich_text constructor 2016-12-31 20:15:44 -05:00
Thomas Fussell
760f95e2df clean up cell deserialization for #103 2016-12-31 20:05:10 -05:00
Thomas Fussell
7de0b05480 fix zip header error when unzipping for #103 2016-12-31 19:15:09 -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
cd7c11a4ea Merge branch 'master' of github.com:tfussell/xlnt 2016-12-17 00:19:30 +01:00
Thomas Fussell
8427db5d46 fix cmake configuration for xcode generator 2016-12-17 00:18:28 +01:00
Thomas Fussell
886605d643 fix msvc build with some defines 2016-12-15 08:27:16 +01:00
Thomas Fussell
eafad0ad49 use scoped_enum_hash in xlsx_producer too 2016-12-14 11:39:59 +01:00
Thomas Fussell
d9404888a9 don't used empty braced initializer for z_stream_s to avoid gcc warning, it should be fine uninitialized [ci skip] 2016-12-14 11:39:38 +01: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
414fe5da39 suppress dev warnings in cryptopp cmake, locate python more flexibly using find_package 2016-12-14 08:27:09 +00:00
Thomas Fussell
677c55156c centralize default case handling into its own header and apply it in number_formatter to fix warning 2016-12-14 07:58:15 +00:00
Thomas Fussell
db940fedc5 remove unused variable in pole 2016-12-14 07:56:51 +00:00
Thomas Fussell
2a6f2d6e2e handle xml:space, closes #95 2016-12-14 07:23:49 +00:00
Thomas Fussell
8dc374a1bb fix aes decryption 2016-12-13 23:48:02 +00:00
Thomas Fussell
b9a02916cf change from botan to cryptopp 2016-12-13 22:48:38 +00:00
Thomas Fussell
e0ce0fb279 get workbook.xml up to spec, closes #92 2016-12-10 19:46:21 +00:00
Thomas Fussell
beca771ef2 ensure all unused formula attributes are skipped for #88 2016-12-10 19:07:07 +00:00
Thomas Fussell
a8eadc1df5 skip hyperlink attributes for #88 2016-12-10 19:04:35 +00:00
Thomas Fussell
c8e7df6289 fix a few more warnings [ci skip] 2016-12-10 18:39:51 +00: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
f33e887012 I really should set up a Linux VM one of these days 2016-12-03 21:39:03 +01:00
Thomas Fussell
4dc9f7dfa6 now we're getting somewhere 2016-12-03 21:35:09 +01:00
Thomas Fussell
30776eb77c let's just get rid of the method 2016-12-03 21:31:48 +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
d1d96be48f elaborate type in stylesheet 2016-12-03 16:35:48 +01:00
Thomas Fussell
9514984d42 getting closer 2016-12-03 16:31:10 +01:00
Thomas Fussell
2fe649146b fix msvc warning which also indicated a bug 2016-12-03 12:07:05 +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
a1ff8c0ed2 parse relationship mode and implement reading hyperlinks, closes #87 2016-11-30 01:05:47 +01:00
Thomas Fussell
d9b1fef34f continue cleaning up xlsx_consumer 2016-11-30 00:31:06 +01:00
Thomas Fussell
7694c66f08 I give up for now 2016-11-27 19:12:38 +01:00
Thomas Fussell
7162f265c1 debug gcc exception 2016-11-27 18:47:37 +01:00
Thomas Fussell
ec42f3c3ac debug gcc exception 2016-11-27 18:41:46 +01:00
Thomas Fussell
85f62083c9 fix comment styles 2016-11-27 18:32:00 +01:00
Thomas Fussell
03762be3a1 debug gcc exception 2016-11-27 18:11:32 +01:00
Thomas Fussell
267bd4b096 debug gcc exception 2016-11-27 18:02:19 +01:00
Thomas Fussell
585a0b528f debug gcc exception 2016-11-27 17:58:12 +01:00
Thomas Fussell
b5693d49e6 debug gcc exception 2016-11-27 17:37:12 +01:00
Thomas Fussell
cdc6c2d4cf debug gcc exception 2016-11-27 17:32:20 +01:00
Thomas Fussell
5d1d1d43bc use exact float comparison in number formatter for now 2016-11-27 17:06:00 +01:00
Thomas Fussell
fecd239fcf fix some clang warning errors 2016-11-27 16:56:38 +01:00
Thomas Fussell
d353bbf42c declare/define static const member correctly 2016-11-27 16:01:23 +01:00
Thomas Fussell
7ac3d8a612 fix out of bounds error in mwvc and gcc by creating a temporary vector during decryption 2016-11-27 15:47:12 +01:00
Thomas Fussell
49860895ce fix typename outside of template error in msvc 2016-11-27 15:44:41 +01:00
Thomas Fussell
1ff174a0c9 ignore optional formula attributes 2016-11-27 09:41:03 +01:00
Thomas Fussell
26b0302aac clean up comment parsing 2016-11-27 09:35:21 +01:00
Thomas Fussell
91ea4d81ad specify initializer list type (why is this needed?) 2016-11-25 13:47:49 +00:00
Thomas Fussell
2cc3f7947a clean up xml parsing, fix numbers xlsx decryption, unskip some tests 2016-11-25 13:13:55 +00:00
Thomas Fussell
6653568a1c ignore sortState element in worksheet for #84 2016-11-21 01:45:38 -05:00
Thomas Fussell
123d3df982 handle multiple consecutive character events arising from buffer boundaries, #83 2016-11-20 19:38:58 -05:00
Thomas Fussell
2bfd909684 skip codeName attribute for #83 2016-11-20 18:36:52 -05: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
daab3cf8ba reformat xlsx_consumer.cpp 2016-11-19 17:19:38 -05:00
Thomas Fussell
c89b36f749 add missing include for std::function 2016-11-19 17:03:10 -05:00
Thomas Fussell
d393343c2e reformat cell.cpp 2016-11-19 16:50:35 -05:00
Thomas Fussell
dab1b0218d begin cleaning up xml handling in consumer 2016-11-19 16:42:16 -05:00
Thomas Fussell
8bd725f2fa ignore protectedRanges and make builtinId optional for styles, closes #82 2016-11-15 07:09:17 -06:00
Thomas Fussell
2618237678 fix #81 2016-11-14 20:14:42 -06: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
b06f3901f6 add missing include for std::fabs 2016-11-09 20:20:12 -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
24d074d6a7 only include codecvt on windows since gcc 4 doesn't ship with it 2016-11-07 22:12:08 -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
f2f5097164 fix coveralls call and ignore unknown pragmas 2016-10-31 23:30:21 -04:00
Thomas Fussell
1b32f46639 move zip_file_header to header 2016-10-31 22:41:20 -04:00
Thomas Fussell
2e3d027604 fix vml 2016-10-31 22:35:42 -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
d8169b82d1 use c linkage for zlib 2016-10-31 20:55:05 -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
dce2367524 fix clang build 2016-10-30 21:44:43 -04:00
Thomas Fussell
25aea3fe72 disable wstring test on non-windows 2016-10-30 21:18:36 -04:00
Thomas Fussell
012dd0984e initial implementation of wstring filenames 2016-10-30 21:17:51 -04:00
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
85ffb2029c set fill background to indexed_color(64) when the foreground is set 2016-10-29 12:41:55 -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
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
757e5e7034 fix appveyor build, I hope 2016-10-28 19:54:37 +08:00
Thomas Fussell
3c7c40cdfa make build system modular 2016-10-27 18:40:20 -04:00
Thomas Fussell
f0f0607638 revert to old cmake output directory method, fix travis build 2016-10-25 21:12:57 -04:00
Thomas Fussell
eae2dc1f3f fix appveyor build 2016-10-25 20:53:11 -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
bc24515104 Merge branch 'master' of http://github.com/tfussell/xlnt 2016-10-23 22:40:52 -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
b56b4db9ae unskip test 2016-10-23 20:00:22 -04:00
Thomas Fussell
0a80c302b3 fix sheet deletion, #71 2016-10-22 13:53:44 -04:00
Thomas Fussell
fe30096963 make xlsx_consumer more flexible to optional elements/attributes 2016-10-18 19:29:04 -04:00
Thomas Fussell
ac3fd6904b use correct password in crypto test 2016-10-18 19:28: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
eee47c267c fix bug in worksheet::set_title 2016-10-10 07:01:19 -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
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
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