Joshua
744dd0afbb
Remove uses of std::iterator (deprecated in C++17)
...
Detailed reasoning for the deprecation is provided by the paper proposing deprecation (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html ) and a related LWG issue (https://cplusplus.github.io/LWG/issue2438 ).
This was the only issue preventing a clean compile with VS 15.7.2 with c++17/c++latest set as the target language
The issue could be resolved in two ways. Providing a custom replacement to std::iterator (a very simple structure) or by providing the 5 required typedefs. The only functional difference from my reading is that the typedefs are not immediately available to the implementer with the inheritance. I find the inline typedefs to be clearer hence the selection in this commit
2018-07-10 12:40:34 +12:00
Crzyrndm
a8fa6637fe
fix workbook::operator== always returning false, add tests for workbook::load
...
workbook::operator== was comparing the value of the raw pointer held by two std::unique_ptr's. By definition, this is always false in a well behaved program (if it's true, things go bang...). This then led to adding equality operators to nearly every other struct/class in xlnt to support workbook::operator==
workbook::load and the non-default ctors for loading data from a file are tested using the now functional equality operator
NOTE: a large number of copy ctors need updates/fixing. Many should be defaulted
2018-07-03 14:05:07 +12:00
Crzyrndm
688c8c7f33
add column_index to cell to be consistent with cell_reference
...
Issue #298
The consistency argument is a good one in my opinion
2018-07-03 11:10:47 +12:00
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