Commit Graph

695 Commits

Author SHA1 Message Date
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