Commit Graph

752 Commits

Author SHA1 Message Date
Thomas Fussell
fcd68dba8f optimize cell memory usage. big improvement! 2017-09-08 19:41:34 -04:00
Thomas Fussell
716a81a19f optimize hot code paths 2017-09-08 19:08:38 -04:00
Thomas Fussell
bbdace8b44 use memoization to replace cached static qnames 2017-09-08 18:03:56 -04:00
Thomas Fussell
85010f9f11 memoize calls to xml::qname builder 2017-09-08 17:39:59 -04:00
Thomas Fussell
53d7dbb67e install generated man page 2017-09-08 17:07:25 -04:00
Thomas Fussell
fff2feccd2 update licenses 2017-09-08 15:26:47 -04:00
Thomas Fussell
7ed14246b2 clean up cmake files and add d suffix to xlnt debug library, closes #214 2017-09-08 14:33:18 -04:00
Thomas Fussell
b0b43f6d8e cast character correctly for std::toupper 2017-09-08 13:57:29 -04:00
Thomas Fussell
50280ba2ab don't define THROW_ON_INVALID_XML by default on NDEBUG builds, fixes #179 2017-09-08 10:36:49 -04:00
tal
46a10cfb7b Issue #216-cleanup for Clang 5.0 build
switched to nullptr instead of NULL or 0.
Switch some expressions using ',' to multiple statements separated by ';'
Removed unused template function
Used override keyword for some overridden virtual functions.
2017-09-04 13:43:30 -06:00
sukoi26
8d85ed917f Merge branch 'dev' into dev 2017-09-02 22:07:07 +02:00
Thomas Fussell
25bb6bfadf revert addition of NDEBUG for clang builds, come up with a better way to solve #179 2017-09-02 10:28:22 -04:00
Thomas Fussell
f174dd825d Merge pull request #209 from pebble2015/master
fix #204 #205
2017-09-02 10:10:35 -04:00
sukoi26
b21b856e68 code optimized for s attribut cell / row format
improve the performance
2017-08-29 13:01:47 +02:00
pebble2015
5461538396 fix xwindow bug
fix xwindow bug
2017-08-27 14:13:18 +08:00
pebble2015
17ce83e612 fix xwindow bug
fix xwindow bug
2017-08-27 13:58:17 +08:00
pebble2015
f3d5d18035 fix xwindow bug
fix xwindow bug
2017-08-27 13:44:06 +08:00
Chris
e5d6a26e17 fixup formatting 2017-08-26 11:04:23 -05:00
Chris
5cc24fda39 PERF: optimize read_cell 2017-08-26 10:49:48 -05:00
Thomas Fussell
4e2c0c0ffb use column width adjustment as specified in standard so that width in Excel on Windows matches value in xlnt, #193 2017-08-18 21:38:10 -04:00
Thomas Fussell
49b84a83c7 define missing method, worksheet::clear_page_breaks(), closes #192 2017-08-18 20:58:44 -04:00
Thomas Fussell
3257274057 use utfcpp on all platforms since codecvt has been deprecated in c++17, closes #197 2017-08-15 18:23:28 -04:00
Thomas Fussell
b54b2399d9 ignore unknown-pragmas in clang, try to debug lib suffix, install using cmake instead of in setup.py 2017-08-07 19:00:49 -07:00
Thomas Fussell
7cc9898dab move most of the pyarrow logic to python wrapper, use pyarrow's cmake setup.py code 2017-08-04 10:12:25 -07:00
Thomas Fussell
8801a0e352 figured out the problem 2017-07-30 20:32:37 -07:00
Thomas Fussell
de0e010056 use pybind11 instead of raw C Python API, python_streambuffer is broken for now 2017-07-30 09:48:57 -07:00
Thomas Fussell
eaaa310cef start implementing xlsx2arrow params 2017-07-19 17:21:55 -07:00
Thomas Fussell
8965cfa82c Merge branch 'dev' of github.com:tfussell/xlnt into dev 2017-07-18 14:25:49 -07:00
Thomas Fussell
abdd1be7c8 move arrow logic to xlntpyarrow for now 2017-07-18 14:20:46 -07:00
Thomas Fussell
8d051e36e5 fix remaining clang warnings. so many static_casts... 2017-07-17 22:24:00 +00:00
Thomas Fussell
7da9187808 fix some clang warnings 2017-07-16 22:32:35 +00:00
Thomas Fussell
b98f8c4fe7 don't cast integral long double to ptrdiff_t before writing to xml, fixes #188 2017-07-16 11:16:09 -07:00
Thomas Fussell
33399a5390 now we're getting somewhere! xlntpyarrow.xlsx2arrow returns an Arrow table that can be converted to a pandas DataFrame now 2017-07-15 10:39:36 -07:00
Thomas Fussell
5b95b3d463 begin implementing xlsx2arrow, fix msvc warnings, other stuff 2017-07-14 22:18:11 -07:00
Thomas Fussell
c00a7a7798 put dll in the correct directory depending on system 2017-07-14 01:26:49 +00:00
Thomas Fussell
e16f5cfe51 file-specific warning disabling is not working so just disable -Werror on Clang for now [ci skip] 2017-07-12 08:55:21 -07:00
Thomas Fussell
bec125d5c9 try again 2017-07-12 00:53:46 -07:00
Thomas Fussell
2949863c77 disable warnings on xlntarrow.cpp for now 2017-07-12 00:40:34 -07:00
Thomas Fussell
0be7563f8b ignore arrow warnings and foward declare arrow 2017-07-12 00:03:26 -07:00
Thomas Fussell
e6b0545c26 remove deleted xlntarrow dependency from xlntpyarrow target and don't compile xlntarrow when ARROW=OFF 2017-07-11 21:30:43 -07:00
Thomas Fussell
5c033905fb I see no good reason to make the arrow interface a separate lib. Let's just make it optionally compiled in the main target. 2017-07-11 20:55:08 -07:00
Thomas Fussell
fee2319093 use static_cast instead of c-style cast for stream pointers 2017-07-11 20:40:55 -07:00
Thomas Fussell
e38b1cdd69 fix gcc warnings 2017-07-09 16:44:00 +00:00
Thomas Fussell
84a6fdcc14 handle missing switch case in cell::to_string 2017-07-08 10:19:55 -07:00
Thomas Fussell
f97ad6c1bd start working on streaming write 2017-07-04 17:52:46 -07:00
Thomas Fussell
16bfbf78f5 use cmake to build python module 2017-07-04 16:03:34 -07:00
Thomas Fussell
80fb2a6e29 use c99 for for loop declarations 2017-07-03 06:00:27 -07:00
Thomas Fussell
6777982f08 clarify target_mode namespace 2017-07-02 19:17:14 -07:00
Thomas Fussell
9f95894372 use unique_ptr constructor instead of make_unique (C++14+ only) 2017-07-02 19:10:22 -07:00
Thomas Fussell
498f3a6f71 Merge branch 'master' into feature/arrow 2017-07-02 19:03:24 -07:00
Thomas Fussell
456b9bbd80 specify hash to use (scoped_enum_hash) for variant::type hash table 2017-07-02 19:00:37 -07:00
Thomas Fussell
7fb9df97be ifdef out codecvt 2017-07-02 18:56:16 -07:00
Thomas Fussell
245f5117d3 don't use string_literal for now 2017-07-02 18:56:00 -07:00
Thomas Fussell
e104c6a9b6 specify namespace in friend declaration 2017-07-02 18:54:32 -07:00
Thomas Fussell
9861dc761a typo 2017-07-02 18:40:11 -07:00
Thomas Fussell
f502626418 forgot to conditionally include codecvt in path.cpp 2017-07-02 18:39:44 -07:00
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