Commit Graph

441 Commits

Author SHA1 Message Date
Crzyrndm
fb195e2777 fix accidentally copied ctor declaration 2018-07-03 11:09:33 +12:00
Crzyrndm
bb04205dac workbook parameterised constructors
Issue #298
- all 4 are simply duplicating existing behaviour, but perhaps we can get a more optimal version in future
- istream ctor is intended as an extension point that can then be used to create free/static functions to work with any future data source (vector), while the path ctor is a convenience function for the common case (from file)
2018-07-02 21:33:27 +12:00
Crzyrndm
e0d62b0835 Cleanup from review 2018-06-26 20:32:59 +12:00
Crzyrndm
3d3a59012a extLst element round tripped 2018-06-25 23:12:35 +12:00
Crzyrndm
8ba7f5b45d default is not a contextual keyword 2018-06-25 21:41:25 +12:00
Crzyrndm
fa19d8fccc Providing an explicit default value disables aggregate initialisation 2018-06-25 21:35:02 +12:00
Crzyrndm
840d1bcefc Serialisation of extLst without namespace support
-- roundtripping namespaces requires modifications of the parser used for the entire worksheet as there does not appear to be a way to track the namespace changes without listening/registering for the event. This (ofcourse) breaks lots of other things...
2018-06-24 23:08:23 +12:00
Crzyrndm
1c1d63498a Parsing headerFotter block of test sheet correctly 2018-06-24 17:31:05 +12:00
Crzyrndm
e8fcd49c0d Add serialisation of "topLeftCell" sheetView attribute 2018-06-24 14:19:03 +12:00
Crzyrndm
d2d0c2ab55 Serialisation of sheetPr and printOptions elements 2018-06-24 14:02:01 +12:00
Crzyrndm
93323f334d Basic pageSetup persistence
-- NOTE: The struct page_setup doesn't currently reflect the attributes of the pageSetup element
2018-06-24 12:34:56 +12:00
Crzyrndm
7820ac548f re-save custom_heights_widths.xlsx, add defaultColWidth sheet attribute
-- custom_heights was the only test sheet where the integral value was being saved with a trailing ".0"
-- Updated tests to expect the new values
-- added the new property "defaultColWidth"
2018-06-24 11:53:45 +12:00
Crzyrndm
d81555dbae Add "bestFit" column attribute serialisation 2018-06-24 10:13:27 +12:00
Crzyrndm
4cfb74443c fixing build warnings 2018-06-23 22:43:11 +12:00
Crzyrndm
3eb06bac0d serialisation of custom row format property added 2018-06-23 22:29:57 +12:00
Crzyrndm
fe90c9d488 Fix build errors and warnings 2018-06-23 21:08:12 +12:00
Crzyrndm
07ea740d11 Add the ext_list class for parsing extLst xml elements to/from
-- no tests as yet
2018-06-23 19:08:39 +12:00
Crzyrndm
5817ef5cf0 Add serialisation of worksheet phonetic properties 2018-06-23 12:15:15 +12:00
Crzyrndm
fc7c69a724 Base selection on Excel behaviour
-- sqref is a block of selected cells containing the active_cell (normally is just == active_cell)
-- active cell is the selected vell in this selection/view/pane
-- inactive selections use the top-left cell as the active_cell
2018-06-18 22:40:24 +12:00
Thomas Fussell
e350a7734d implement abspath and archid flags, fixes some serialization problems 2018-05-28 23:13:57 -04:00
Thomas Fussell
78ae9bbb89 specify path return value namespace to fix compiler error, closes #269 2018-04-24 18:06:30 -04:00
Thomas Fussell
50850ffb8a work on round-tripping for #230 2018-04-24 17:58:17 -04:00
Thomas Fussell
617f7a2525 improve hyperlinks and style round tripping 2018-03-21 09:03:37 -04:00
Thomas Fussell
410e73d594 work on hyperlinks, x14 extentions, other round tripping silliness 2018-03-16 21:21:16 -04:00
Thomas Fussell
2426215801 implement sheet view serialization 2018-03-14 20:12:07 -04:00
Andrii Tkachenko
074b176d33 workbook.hpp extra qualification typo fixed. 2018-02-17 06:06:39 +01:00
Andrii Tkachenko
403605a536 xLnt. shared string performance optimization. 2018-02-08 09:52:10 +01:00
Andrii Tkachenko
3246d602c2 xLnt. Implemented operator less for: rich_text, rich_text_run, color, font, optional. 2018-02-08 08:05:41 +01:00
Andrii Tkachenko
55cf7a2bed xlnt. rich_text copy constructor. 2018-02-08 07:24:58 +01:00
Thomas Fussell
0f0d3de75f implement sheetFormatPr, x14ac:dyDescent, reordering workbook rels so sheets come first after insertions 2018-01-26 14:32:00 -05:00
Thomas Fussell
90633d0e8e copyright year bump (2018) 2018-01-22 09:38:48 -05:00
Thomas Fussell
470c655df6 fix empty row height/cell width, #235 2017-10-30 19:36:24 -04:00
Thomas Fussell
06b315b352 add interface to worksheet and range for clearing cells entirely, not just their values, for #232 2017-10-26 13:45:56 -04:00
Thomas Fussell
81812d6e29 implement sheet view selection consumption, closes #164 2017-09-13 09:36:42 -04:00
Thomas Fussell
12007fe2d8 change cell numeric value type from long double to double, closes #201 2017-09-08 21:05:34 -04:00
pebble2015
f3d5d18035 fix xwindow bug
fix xwindow bug
2017-08-27 13:44:06 +08:00
Thomas Fussell
8801a0e352 figured out the problem 2017-07-30 20:32:37 -07:00
Thomas Fussell
eaaa310cef start implementing xlsx2arrow params 2017-07-19 17:21:55 -07:00
Thomas Fussell
abdd1be7c8 move arrow logic to xlntpyarrow for now 2017-07-18 14:20:46 -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
0be7563f8b ignore arrow warnings and foward declare arrow 2017-07-12 00:03:26 -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
22325a2836 try to make windows and linux builds both work 2017-07-05 15:04:57 -07:00
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