JCrawfy
c26a59f32e
fix compile error due to reference to r-value that MSVC silently lifetime extended
2019-11-16 12:49:26 +13:00
JCrawfy
ec29e227d4
slightly optimise cell parsing routine, fix formula being incorrectly loaded
2019-11-16 12:17:07 +13:00
JCrawfy
8eda9f226f
parse height as a double
2019-11-16 11:54:55 +13:00
JCrawfy
d83ed0b200
handle whitespace in xml (e.g. '\n' because sheet was pretty printed)
2019-11-16 11:40:43 +13:00
JCrawfy
b27e7fe07e
rewrite the sheet data xml parse logic
...
a few hacks still, but a very noticeable speed up (2.2 -> 1.1 seconds on large.xlsx)
2019-11-16 11:28:00 +13:00
Matthew Albrecht
9eee8ec0bb
Check for existing uninstall target before creating.
2019-09-20 15:13:09 -05:00
Thomas Fussell
a978e73354
change orientation name in default case
2019-09-15 11:26:39 -04:00
Thomas Fussell
a1d46694c1
Merge branch 'add-all-locales' into dev
2019-09-15 11:25:39 -04:00
Thomas Fussell
90ddaedc81
Merge branch 'master' into dev
2019-09-07 21:10:11 -04:00
Alessandro Bettarini
2b221fec81
Prevent throwing exception when encountering country code 10485
2019-09-07 11:32:49 +02:00
Thomas Fussell
df0626579b
add all windows locales as a workaround for #407
2019-09-05 15:37:55 -04:00
Thomas Fussell
cc88c4829b
fix frozen first rows/columns for #369
2019-07-07 11:17:00 -04:00
Thomas Fussell
be7a91f7be
try default password on read failure, closes #161
2019-07-06 15:29:04 -04:00
Thomas Fussell
ba01de47a7
Merge pull request #345 from kostasdizas/issue165-compound-document
...
Removed duplicate code in compound document
2019-07-06 12:23:09 -06:00
Thomas Fussell
9f1b2ed4c8
Merge branch 'dev' of github.com:tfussell/xlnt into dev
2019-07-06 14:21:13 -04:00
Thomas Fussell
90b672cf6b
Merge branch 'Issue#318_fp-equality' of https://github.com/Crzyrndm/xlnt into Crzyrndm-Issue#318_fp-equality
2019-07-06 14:20:53 -04:00
Thomas Fussell
01cd2a3e3f
Merge pull request #346 from Crzyrndm/Issue#335
...
GCC5 compatibility + CI
2019-07-06 12:03:53 -06:00
Thomas Fussell
1e52c06376
Merge branch 'dev' of github.com:tfussell/xlnt into dev
2019-07-06 14:02:50 -04:00
Thomas Fussell
40baecdf02
Merge branch 'images' of https://github.com/kostasdizas/xlnt into kostasdizas-images
2019-07-06 14:02:24 -04:00
Thomas Fussell
076c421a1f
Merge pull request #332 from Erroneous1/master
...
Export xlnt::xlnt target when installed.
2019-07-05 06:21:40 -06:00
Thomas Fussell
d5172d8bcd
implement writing of rich text phonetic properties and phonetic runs
2019-07-03 17:47:28 -04:00
Thomas Fussell
7c9443dca9
Merge branch 'dev' into issue165-xlsx-producer
2019-07-03 13:36:25 -06:00
Thomas Fussell
123ecc95fe
Merge branch 'dev' into issue378-unicode_title
2019-06-22 10:54:20 -04:00
Thomas Fussell
1c22e9781e
Merge pull request #364 from kostasdizas/phonetics
...
Added support for phonetic fields
2019-06-22 10:53:09 -04:00
Thomas Fussell
b6455ff6d1
Merge pull request #356 from kostasdizas/issue353
...
Fixed block calculation in xlsx_producer
2019-06-22 10:52:14 -04:00
Thomas Fussell
f54a150589
Merge branch 'dev' into phonetics
2019-06-22 10:51:30 -04:00
Thomas Fussell
e11188ccd1
Merge branch 'dev' into issue378-unicode_title
2019-06-22 10:48:35 -04:00
Thomas Fussell
b1a2f6d0bf
Merge pull request #382 from kostasdizas/issue374-format
...
Update the format elements when setting the cell style
2019-06-22 10:43:41 -04:00
Thomas Fussell
595397994f
Merge pull request #359 from kostasdizas/issue254
...
Corrected the calculation and formatting of weekdays
2019-06-21 17:52:14 -04:00
Thomas Fussell
938d99ddc5
Merge pull request #363 from pmir/fix-relationship-ordering
...
Fix relationship sorting
2019-06-21 17:49:20 -04:00
Thomas Fussell
7e22fad735
Merge pull request #329 from Crzyrndm/Issue#327
...
Relative hyperlinks
2019-06-11 20:40:36 -04:00
Kostas Dizas
38afc61219
Update the format elements when setting the cell style.
2019-03-07 00:26:32 +00:00
Kostas Dizas
d4b36b6582
Added support for unicode sheet titles
...
Fixes #378
2019-02-28 20:29:17 +00:00
Kostas Dizas
36d6b9823d
Adjust merged cells when moving cells
2018-12-02 03:18:37 +00:00
Kostas Dizas
38f12ff846
Serialise phonetic runs and properties
2018-11-21 13:43:42 +00:00
Kostas Dizas
e9c23c3fc7
Add phonetic runs and properties to rich text
2018-11-21 13:43:31 +00:00
Kostas Dizas
e9118cff24
Serialise phonetics visibility for cells
2018-11-21 13:04:07 +00:00
Kostas Dizas
48a865cd66
Added phonetics field visibility option on cells
2018-11-21 13:03:02 +00:00
przemekmirek
5a44433291
Fix relationship sorting
2018-11-08 20:47:58 +01:00
Kostas Dizas
03198f7e40
Corrected the calculation and formatting of weekdays
...
and relevant unit tests
2018-10-28 20:32:46 +00:00
Kostas Dizas
dde45fd17f
Fixed block calculation in xlsx_producer
2018-10-19 23:19:23 +01:00
Kostas Dizas
3ab49c8af6
Importing row spans in the row_properties object
2018-10-19 20:48:54 +01:00
Kostas Dizas
db5abec894
Worksheet dimension should include lowest props
2018-10-19 20:47:35 +01:00
Kostas Dizas
b6f0d0a7e1
Fixed the uninitialised bool on a rich_text_run
2018-10-13 09:11:26 +01:00
Kostas Dizas
61639c7275
Added write_rich_text method to xlsx_producer
...
This eliminates some duplicate code as reported in #165
2018-10-12 19:56:09 +01:00
Kostas Dizas
698b40c54c
Added basic support for embedded images
2018-10-12 13:52:30 +01:00
Kostas Dizas
23fcfd636b
Removed duplicate code in compound document
2018-10-01 13:31:32 +01:00
Crzyrndm
ed05bfeb44
Rename parameter to avoid ambiguous parameter
...
-- Issue#335
2018-09-15 19:50:59 +12:00
Kostas Dizas
c804b4c569
Added new feature to insert and delete rows and columns
2018-09-11 09:44:43 +01:00
Aaron Bishop
0d76afb801
Fix using variable before defining it
2018-08-26 07:36:24 -04:00
Aaron Bishop
37638f6d2b
Use cache path for *_DEST_DIR
...
Use GNUInstallDirs
Prefix cache variables with XLNT_
Combine multiple target_include_directories
2018-08-25 09:39:39 -04:00
Crzyrndm
875f143d74
fix parameter ordering inconsistency that could cause switching the parameters to give different results
2018-08-25 13:31:16 +12:00
Crzyrndm
4188d35caf
Add tests for the other small utilities
2018-08-19 15:11:57 +12:00
Crzyrndm
a28f3fb7a9
zstream implicit conversion warning
2018-08-18 18:37:19 +12:00
Crzyrndm
9e78e55c62
Another missing include
2018-08-18 18:16:39 +12:00
Crzyrndm
61e46c934a
resolve float-equals warnings
2018-08-18 18:12:46 +12:00
Crzyrndm
8b30319514
missing include
2018-08-18 17:31:25 +12:00
Crzyrndm
d7603964e9
another compile error
2018-08-18 17:28:31 +12:00
Crzyrndm
3a10e661b8
constexpr concern no longer valid
2018-08-18 17:24:34 +12:00
Crzyrndm
edafcd1bb5
More compile fixes
2018-08-18 17:23:04 +12:00
Crzyrndm
6aa10131a2
Fixing compile errors
2018-08-18 16:51:53 +12:00
Crzyrndm
7b05beae90
unsupress fp equality warnings
2018-08-18 16:34:31 +12:00
Crzyrndm
3db87244f1
Compare numeric cell values using float_equals
2018-08-18 16:24:32 +12:00
Crzyrndm
68589d91eb
default float for epsilon
...
-- Even if both arguments are doubles, they may have been promoted by a previous operation and then the comparison would fail
2018-08-15 18:19:36 +12:00
Crzyrndm
4487b988e7
Define fp equality function
...
-- Based on checks and defaults used by various testing frameworks (primarily GTest and Catch)
-- Moved the header into detail where it should have been to start with (oops)
2018-08-14 22:48:28 +12:00
Aaron Bishop
ecf402972b
Export xlnt::xlnt target when installed.
...
Usage:
find_package(Xlnt)
target_link_libraries(foo PRIVATE xlnt::xlnt)
2018-08-07 09:08:29 -04:00
Crzyrndm
10c5781e6d
Merge pull request #323 from Crzyrndm/build_system_improvements
...
Build system improvements + stylesheet optimisations
2018-08-05 14:15:09 +12:00
Crzyrndm
94fd22f492
Merge pull request #321 from Crzyrndm/Issue#282
...
Don't set comment size on explicit comment overload
2018-08-05 13:05:54 +12:00
Crzyrndm
ca8c93c696
Merge pull request #324 from Crzyrndm/iterator-default-ctors
...
Default ctors for iterators
2018-08-05 13:04:09 +12:00
Crzyrndm
dc7f369be9
Add relative urls to the valid hyperlink url set
2018-08-04 14:55:17 +12:00
Crzyrndm
c3296db932
Revert "Another easy 15-20% by not searching with no references"
...
This reverts commit 3ae31fadc3
.
2018-07-30 07:22:45 +12:00
Crzyrndm
544e90c975
fix spectacular typo
...
- Using rgba for comparison is still faster, but it does help correctness when you compare two different instances
2018-07-30 07:07:32 +12:00
Crzyrndm
3ae31fadc3
Another easy 15-20% by not searching with no references
2018-07-29 23:28:02 +12:00
Crzyrndm
e6a84c0cf0
Optimise modifying a new format to reduce garbage collection runs
2018-07-29 22:10:56 +12:00
Crzyrndm
b4f695b3ea
fixing warnings
2018-07-29 17:33:22 +12:00
Crzyrndm
5a5db1a50b
use std::find and don't double iterate the list
...
- ~5% perf improvement in img2xlsx example
2018-07-29 16:48:18 +12:00
Crzyrndm
f64dbc00c4
string compare is slow, use rgba member instead
2018-07-29 16:24:09 +12:00
Crzyrndm
e01f461b64
get the initialisation order right
...
- members reordered to reduce sizeof classes (due to alignment). ctors needed to be updated for this
2018-07-29 14:37:08 +12:00
Crzyrndm
dd6f338419
Remove memory growth based on row count
...
- Nested unordered_map was the cause of a significant memory/cell spike.
- added cell_reference hash, lookup by cell_reference to make memory usage proportional to cell count only
2018-07-29 11:43:23 +12:00
Crzyrndm
138c90883b
Modify writer benchmark to make comparisons between column and row usage
...
- Cut time to write a sheet with many rows by not calling highest_row inside a loop over the rows (On^2 -> On)
- Observation: more memory is used / cell as the number of rows increases
2018-07-29 10:11:00 +12:00
Crzyrndm
d93e470a52
Suppress GCC maybe-uninitialized warning
...
Signal to noise ratio is very high, and the #pragma suppressions for optional aren't working for GCC8
2018-07-28 14:54:49 +12:00
Crzyrndm
ade8cf3b6c
Ensure <color tint=...> is correctly serialised as an optional double
2018-07-28 14:44:49 +12:00
Crzyrndm
e1daff535c
Better idea, set the defaults
2018-07-28 14:04:22 +12:00
Crzyrndm
d39b7a107a
comment default size only set in the overloads which can't set size
...
- Debatable whether position should receive the same treatment
2018-07-28 13:55:56 +12:00
Thomas Fussell
94faf01b72
Merge pull request #320 from sukoi26/SheetFormatPr
...
SheetformatPr issue #287
2018-07-24 23:42:51 -04:00
Thomas Fussell
8f39375f4c
revert unwise data structure change
2018-07-24 23:08:44 -04:00
Thomas Fussell
cbe50f4681
Fix some issues after merge
2018-07-23 00:13:20 -04:00
Thomas Fussell
0af7ad88e1
Merge branch 'tasmail-master-shared-strings-performance' into dev
...
remove less than comparators
fix conflicts
2018-07-23 00:10:16 -04:00
sukoi26
8f4248d9c3
change SheetFormatPr
...
change "defaultRowHeight" not optional
2018-07-22 18:44:31 +02:00
Crzyrndm
6562c41ae1
fix typo in Cmake lists
2018-07-21 12:38:33 +12:00
Crzyrndm
fede2d3168
fix Clang CI warnings
2018-07-21 12:33:58 +12:00
Crzyrndm
ad24d9485d
Resolve CI warning about using an uninitialised variable
2018-07-21 12:19:15 +12:00
Crzyrndm
761eee3e5f
Merge pull request #314 from Crzyrndm/dev-CI-build-modifications-PR
...
Travis CI improvements
Resolves #147
2018-07-21 12:04:56 +12:00
Crzyrndm
4dae88f004
Merge pull request #311 from Crzyrndm/dev-unimplemented-functions-PR
...
Implementations for unimplemented functions
2018-07-21 11:31:25 +12:00
Crzyrndm
f035b9041e
Merge pull request #310 from Crzyrndm/dev-reorder-wb-relations-PR
...
Resolves #279
2018-07-21 11:13:05 +12:00
sukoi26
a2dc4a34f1
update bestFit commit
...
error compiling std::vector<std::string>
2018-07-19 13:53:54 +02:00
sukoi26
4f9e8ab37f
bestFit change
...
remove from skip_attributes list
2018-07-19 12:49:32 +02:00
Crzyrndm
0aee6fd9b1
Cleanup some cmake modifications
2018-07-16 19:41:40 +12:00
Crzyrndm
ad759ae4f7
fix for build failure with GCC8{-std=c++17}
2018-07-16 19:08:19 +12:00
Crzyrndm
b9b47672ea
cxx_std_14 and co aren't available until cmake v3.8
2018-07-16 18:52:21 +12:00
Crzyrndm
5671167d1d
add cmake option XLNT_CXX_LANG to set the targetted cxx standard
...
- valid options are 11, 14, and 17
- default is 14
- cmake will error if an invalid value is provided
- requires cmake >= 3.10.* to take effect in visual studio
2018-07-15 21:23:22 +12:00
Crzyrndm
25d75cb5c3
complete the compiler set (gcc 6/7/8 + clang 4/5/6)
2018-07-14 21:27:54 +12:00
Crzyrndm
11573f45e6
Resolve remaining warnings
2018-07-14 20:25:10 +12:00
Crzyrndm
9a33210144
Resolve warnings about global ctors and an unused variable
...
-- while unlikely to become an issue, ordering of ctors across source files is undefined and debugging issues related to it is not easy so just avoid that issue
2018-07-14 19:54:31 +12:00
Crzyrndm
d4cc538faf
remove -Werror from clang build to allow CI to run through
...
-- fixing CI warnings 1 at a time would be a complete waste of time
-- blacklist some of the overkill warnings
2018-07-14 19:02:12 +12:00
Crzyrndm
ddab6551b0
Add tests for functionality added to implement declared functionality
2018-07-13 17:14:07 +12:00
Crzyrndm
03020cc793
improved hyperlink implementation
...
- hyperlinks to cells and ranges are complete
- hyperlink::display is now set as well as the cell value (in excel these can be different)
-- if a cell is empty, display is equal to value text
-- if a cell has a value, display can be just about anything
- This version copies excel in that display is completely ignored once value is set
- All hyperlink tests are now part of the cell test suite (not the worksheet test suite which the majority were previously located)
2018-07-13 17:14:07 +12:00
Crzyrndm
054f509f7a
fix missing return statement
2018-07-13 17:14:06 +12:00
Crzyrndm
1390d6a76e
unimplemented functions in range and path
2018-07-13 17:14:06 +12:00
Crzyrndm
3d9e887d4a
unimplemented functions under utils/
2018-07-13 17:14:05 +12:00
Crzyrndm
95ca51e5c8
unimplemented functions under styles/
2018-07-13 17:14:05 +12:00
Crzyrndm
49c4e725dc
All unimplemented functions under cell/
2018-07-13 17:14:05 +12:00
Crzyrndm
0d1bca3fd4
Remove hidden dependency on unordered map extraction order
...
Issue #279
2018-07-13 12:43:21 +12:00
Crzyrndm
7458426111
return by const ref
2018-07-13 12:43:21 +12:00
Crzyrndm
53c193433f
Ensure worksheets get a unique internal filename
...
Issue #279
2018-07-13 12:43:20 +12:00
Crzyrndm
dcf50cb4cd
return by const reference when possible
2018-07-13 12:43:20 +12:00
Crzyrndm
cf8991a234
no need to recreate the uri
2018-07-13 12:43:19 +12:00
Crzyrndm
322490b397
re-write workbook::reorder_relationships
...
Issue #279
2018-07-13 12:43:19 +12:00
Crzyrndm
1ab25fa7fc
Merge branch 'dev' into dev-Issue298
2018-07-13 11:21:13 +12:00
Crzyrndm
7160b7494d
Merge pull request #305 from Crzyrndm/dev-iterator-improvements-2
...
Remove uses of std::iterator (deprecated in C++17) + improvements
2018-07-13 11:14:19 +12:00
sukoi26
28a71572cf
update #290
...
suggested by Crzyrndm
2018-07-10 09:32:34 +02:00
Crzyrndm
399b5e3775
Resolve CI build failure
2018-07-10 14:43:22 +12:00
Crzyrndm
b95919323d
add more tests for worksheet iterator, add operator--
...
* operator-- completes the naive bidirectional iterator requirements
* tests for various construction and assignment behaviours
* tests for iteration and dereferencing behaviours
2018-07-10 12:40:56 +12:00
Crzyrndm
04b50d9b8e
worksheet_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:54 +12:00
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