Crzyrndm
a47985b2db
worksheet_iterator - rule of 5/0
...
For rule of 5/0, where no implementation is required, all 5 operations have been declared as defaulted. This is less likely to forget definitions for all 5 if required
- removed forwarding of copy ctor to assignment (which was defaulted already) in favour of defaulted copy ctor
- added defaulted move assignment/ctor and destructor
Changed workbook reference to a pointer to allow tests to compile (reference isn't rebindable so defaulted assignment is equivalent to deleted)
2018-07-10 12:40:52 +12:00
Crzyrndm
62e0a7dd17
Revert "cell iterator - add operator->"
...
This reverts commit 1b705ae043ae1b43d0ecbc93da04c944383bb296.
2018-07-10 12:40:48 +12:00
Crzyrndm
bc8cd21d67
range_iterator - operator* const overloads
...
Users may still want to dereference a const iterator (note: not a const_iterator).
Also use the "reference" typedef to ensure there is only 1 source of information
2018-07-10 12:40:46 +12:00
Crzyrndm
1e66824af0
range_iterator - rule of 5/0
...
For rule of 5/0, where no implementation is required, all 5 operations have been declared as defaulted. This is less likely to forget definitions for all 5 if required
- removed forwarding of copy ctor to assignment (which was defaulted already) in favour of defaulted copy ctor
- added defaulted move assignment/ctor and destructor
2018-07-10 12:40:44 +12:00
Crzyrndm
1c4f9c7ed2
cell iterator - add operator->
...
Implementation just forwards to operator*, but this is a typical operator in the iterator API and is suprising and inconvenient that it is not present
2018-07-10 12:40:40 +12:00
Crzyrndm
20e72d69e5
cell_iterator - operator* const overloads
...
Users may still want to derederence a const iterator (note: not a const_iterator).
Also use the "reference" typedef to ensure there is only 1 source of information
2018-07-10 12:40:38 +12:00
Crzyrndm
92ac3a2a2e
cell_iterator - rule of 5/0
...
For rule of 5/0, where no implementation is required, all 5 operations have been declared as defaulted. This is less likely to forget definitions for all 5 if required
- removed forwarding of copy to assignment (which was defaulted already) in favour of defaulted copy ctor
- added defaulted move assignment/ctor and destructor
2018-07-10 12:40:36 +12:00
sukoi26
99f20a014a
error what(): xl/sharedStrings.xml: error: duplicate attribute #290
2018-07-09 18:21:01 +02: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
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
0325c19488
Cleanup
2018-06-25 23:17:21 +12:00
Crzyrndm
3d3a59012a
extLst element round tripped
2018-06-25 23:12:35 +12:00
Crzyrndm
4ff68319b0
Fix CI build warnings
2018-06-25 21:45:40 +12:00
Crzyrndm
8ba7f5b45d
default is not a contextual keyword
2018-06-25 21:41:25 +12:00
Crzyrndm
49bd0c8fb4
Fix warnings + CI compile error
2018-06-25 21:28:17 +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
a347d9c05d
ext_list parsing for worksheets
2018-06-24 21:25:58 +12:00
Crzyrndm
1c1d63498a
Parsing headerFotter block of test sheet correctly
2018-06-24 17:31:05 +12:00
Crzyrndm
d12d2e450b
std::to_string is not good fpr serialising doubles
...
-- it uses fixed 6dp, xlsx wants 15sf
-- stringstream with precision set to 15 serialises correctly
2018-06-24 14:29:56 +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
884558fd15
Write numbers using a standard formatter (15sf to match excel)
2018-06-24 11:06:02 +12:00
Crzyrndm
f62e5fe5f7
Fix every 16th row (17, 33, ...) having data dropped
2018-06-24 10:20:30 +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
fde3b90bda
implement overload of manifest::has_relationship(path, relation_id)
2018-06-23 13:19:34 +12:00
Crzyrndm
5817ef5cf0
Add serialisation of worksheet phonetic properties
2018-06-23 12:15:15 +12:00
Crzyrndm
5a14d7b9d1
suppress conversion warnings
...
-- tolower takes chars and returns chars, types are int because C only deals with ints
-- format parameter is size_t but there is no std parsing function that returns size_t. stoull is used instead as the widest alternative, and then the cast is applied to suppress the conversion warnings
2018-06-18 23:24:13 +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
Crzyrndm
6f13002ac6
set selection::sqref in freeze_panes
...
-- NOTE: It doesn't seem likely that these should be 'A1' in all cases (set to 'A1' because current tests demanded it). Purpose of this parameter needs clarification
-- NOTE: [xlnt::selection] needs appropriate ctor's once the purpose of the parameters can be clarified
2018-06-18 22:40:24 +12:00
Crzyrndm
4592b86746
Fix clear_row not clearing the row properties
...
-- worksheet_dimensions include rows with properties
2018-06-18 22:40:24 +12:00
Crzyrndm
b4e7832419
Fixes to cell hyper links
...
-- additional tests to cover both variants of the set function
-- additional tests to cover hyper links on cells with non-string data
-- modified hyper link set function to handle cells with non-string data
-- fixed test behaviour for a cell with no value (value is set to the string form of the link. Behaviour copied from Excel 2010)
2018-06-18 22:40:24 +12:00
Crzyrndm
04c0b4a1ca
Fix issues with the worksheet "title" setter.
...
-- Resolves two test failures caused by a crash when setting the title to the existing value removing the sheet from the 'sheet_title_rel_id_map_'
-- added empty title check
2018-06-18 22:40:23 +12:00
Thomas Fussell
e350a7734d
implement abspath and archid flags, fixes some serialization problems
2018-05-28 23:13:57 -04:00
Thomas Fussell
6eb16243ca
work on round-tripping for #230
2018-04-24 19:43:34 -04:00
Thomas Fussell
ec1584240c
specify relationship member namespace to fix compiler error, closes #268
2018-04-24 18:03:55 -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
467dc860c6
Visual Studio 2015 build files for Win32/x64 configurations. Very first working version.
2018-02-14 06:22:33 +01:00
Andrii Tkachenko
403605a536
xLnt. shared string performance optimization.
2018-02-08 09:52:10 +01:00
Andrii Tkachenko
cb55735644
xLnt. rich_text operator less fixed.
2018-02-08 09:51:50 +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
44a8c8e79e
minor reformatting
2017-12-09 16:04:44 -05:00
Thomas Fussell
1c85188ec6
Merge branch 'dev' of https://github.com/sukoi26/xlnt into sukoi26-dev
2017-12-09 15:45:49 -05:00
Thomas Fussell
a653a39544
reformat a little
2017-12-08 15:31:25 -05:00
Thomas Fussell
182dea155b
Merge branch 'dev' of github.com:tfussell/xlnt into dev
2017-12-08 15:20:36 -05:00
Thomas Fussell
20c7d3437c
Merge pull request #248 from tlanc007/cellPropertyColors
...
custom_value_traits.hpp: pattern_fill from_string() ignores case
2017-12-08 14:37:24 -05:00
tal
b008eacd89
custom_value_traits.hpp: pattern_fill from_string() ignores case
...
Values like lightGray will match with lightgray. Unexpected inputs will
be ignored and return none.
Needs prama to clang to be happy.
2017-11-22 12:44:49 -07:00
TataMata
d0bacf548c
Reformatted source
...
Reformatted pull request to match the library formatting style.
2017-11-12 10:34:51 +01:00
fred.yan
383337ad45
cell_vector lost func "operator[]const"
2017-11-09 14:17:49 +08:00
Bernard Čupić
7cae301039
Added forgotten implementataion of const cell operator[std::size_t cell_index] const
2017-11-06 16:15:38 +01:00
sukoi26
4f07495abb
optimize latest commit missing a test
2017-11-06 14:12:08 +01:00
TataMata
b899c9db5c
Fix bug in cell style assingment
...
There was a bug introduced in version 1.2 in reading styles. As from the Office Open XML documentation:
2017-11-06 11:55:06 +01:00
sukoi26
caeadfc83c
optimize code empty row cell
2017-11-04 23:41:48 +01:00
sukoi26
4a3e711a1b
bug introduce by the commit continue work on #230 , improves style/xf handling
...
as the style exist it is rewritten in cellStyleXfs and cellXfs,
with the fillId test for format and style. remove the test and use only the format.
2017-11-04 18:12:38 +01:00
Aaron Bishop
0201f22237
fix const correctness error
2017-11-02 17:07:01 -04:00
Thomas Fussell
29abdfa702
Merge branch 'master' into dev
2017-10-30 19:44:32 -04: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
0e0bf0f8a1
continue work on #230 , improves style/xf handling
2017-10-26 12:54:54 -04:00
Alexandros Naskos
7f08c77a90
Empty row properties are now written correctly. Setting a row's height now also causes customHeight to be emitted.
2017-10-25 15:04:51 +03:00
Thomas Fussell
75de03745b
start fixing serialization for #230
2017-09-28 08:55:16 -04:00
Thomas Fussell
34270f2333
specify return type of lambda to prevent compiler error
2017-09-27 17:39:59 -04:00
Thomas Fussell
919c65ceea
Merge pull request #229 from downwash/master
...
Fix for issue #228 : Worksheet ID is not always unique
2017-09-27 17:32:40 -04:00
vervbe
c05b9f33c1
Fix for issue #228 : Worksheet ID is not always unique
...
- Worksheet ID now generated from the maximum of existing IDs
- Worksheet ID no longer copied from existing sheet
- Added tests
2017-09-26 08:33:06 +02:00
Thomas Fussell
4c2c7a5859
add missing header for std::tolower
2017-09-13 11:03:18 -04:00
Thomas Fussell
b2adee9fd3
implement upper case date/time handling, closes #221 , closes #222 , related to #220
2017-09-13 10:47:18 -04:00
Thomas Fussell
f27df9732c
add option to enable linking with static C runtime when compiling with MSVC, #214
2017-09-13 10:20:51 -04:00
Thomas Fussell
81812d6e29
implement sheet view selection consumption, closes #164
2017-09-13 09:36:42 -04:00
Thomas Fussell
9d71dda531
ensure only exceptions derived from xlnt::exception are thrown by library code plus some minor code cleanup, closes #163
2017-09-13 08:48:22 -04:00
Thomas Fussell
bc1e3656c7
Merge branch 'master' into dev
2017-09-12 16:22:36 -04:00
Henrique Santiago
ea5c741bfe
Parse readingOrder
2017-09-12 17:04:52 -03:00
Thomas Fussell
954f4b84cd
prevent exception on unhandled attributes
2017-09-10 09:36:53 -04:00
Thomas Fussell
bf3e278ea1
change two missed long double literals into doubles
2017-09-10 09:36:04 -04:00
Thomas Fussell
299fc7d572
Merge branch 'dev' into dev
2017-09-08 23:15:06 -04:00
Thomas Fussell
396e6eb948
fix clang warnings
2017-09-08 22:59:19 -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
Thomas Fussell
7d0cf59286
correct off-by-one error in range dimension calculation, closes #213
2017-09-08 20:47:10 -04:00
Thomas Fussell
0d125b1534
encapsulate stateful stringstream string to float conversion into a separate struct
2017-09-08 20:10:46 -04:00
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
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
sukoi26
d7486830a6
comment changes anchor() , in element()
2017-02-06 23:00:45 +01:00
sukoi26
26eacce248
font change for charset, outline shadow
2017-02-06 22:54:09 +01:00
Thomas Fussell
89be3d83df
instead of always writing at least one style, don't write cellStyleXfs and cellStyles at all when there are no styles defined
2017-02-03 19:40:13 -06:00