Commit Graph

746 Commits

Author SHA1 Message Date
Thomas Fussell
0ee0817757 include utfcpp for now to allow GCC <5.0 to build xlnt 2017-07-02 18:33:53 -07:00
Thomas Fussell
9f9dfe7a75 qualify use of extended_property enum class, fixes #186 2017-06-26 13:26:34 +00:00
Thomas Fussell
56d744b6f9 start cleaning up code 2017-06-25 09:29:45 -04:00
Thomas Fussell
fdd91f817f basic streaming read works now, just need to clean up the logic 2017-06-24 22:07:37 -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
3153600768 read worksheet xml correctly 2017-06-22 08:56:01 -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
2305eae8b6 pass streaming arg to read_part 2017-06-16 09:11:42 -04:00
Thomas Fussell
7834b564f4 handle absolute relationship targets the correct way 2017-06-16 09:11:24 -04:00
Thomas Fussell
7b391321f6 Merge branch 'master' into feature/streaming 2017-06-15 18:10:37 -04:00
Thomas Fussell
342184139f intermediate commit 2017-06-15 18:10:27 -04:00
Thomas Fussell
cae6276b23 prevent exception from being thrown when a view doesn't contain window attributes 2017-06-14 15:45:01 -04:00
Thomas Fussell
d14f8c2e5f fix canonicalization of relationship chains when the last link is absolute 2017-06-14 15:44:19 -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
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