Thomas Fussell
e2262a0c65
Merge pull request #421 from Crzyrndm/experimental/sheet-data-parser
...
Accelerated worksheet parsing
2019-12-19 16:24:51 -05:00
Thomas Fussell
edb27e84f8
Merge pull request #425 from yschungmr/hotfix/gcc-5-build-bug
...
Fixed gcc 5 build bug
2019-12-19 16:13:48 -05:00
Johann1994
d6262df555
Shared strings
...
It can happen that some strings are not unique in sharedstring table
2019-12-18 13:53:23 +01:00
Johann1994
49663bc483
Sharedstringtable
...
Same strings in shared stringtable makes it not possible to open a xlsx file.
2019-12-18 13:50:34 +01:00
Youngsuk Chung
8e2f197f70
Fix indentation
2019-12-09 14:52:07 +09:00
Youngsuk Chung
c8bda73f01
Fix g++-5 build bug ( Fix #385 )
...
Tested on g++ (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
Note: Actually,it is not a BUG. It is compiler related issue. The issue #385 is not shown in g++-6 and clang.
2019-12-09 14:46:12 +09:00
JCrawfy
f2ad495326
resolve warnings, remove failing test (CI doesn't know what locale "de-DE" is?)
2019-11-18 21:45:46 +13:00
JCrawfy
97841413fa
fixed more parsing errors, added test for ',' locale serialisation (it fails...)
2019-11-18 21:12:21 +13:00
JCrawfy
a25187f788
fix using attribute<double> (causes bugs when '.' is not the decimal separator
2019-11-18 20:46:34 +13:00
JCrawfy
d69a5dea75
scan and replace '.' with ',' when decimal separator is comma
2019-11-18 19:55:13 +13:00
JCrawfy
2eb88c23d6
move numeric utils into the public headers
...
resolves #398
2019-11-18 19:25:02 +13:00
JCrawfy
a6fd7cc2b8
skip the user facing types, deal direct with the impls
...
this was being done already in most cases, and allows some simplification
e.g. no need to check if something is already present, since we're starting with a blank
2019-11-17 13:15:00 +13:00
JCrawfy
2b61cac3dc
move helper functions and types to top of file ( namespace {} )
2019-11-17 11:55:49 +13:00
JCrawfy
600cc9d000
specialised string equality template for literals strings
...
1-2% improvement seen locally
2019-11-17 11:11:33 +13:00
JCrawfy
001606a77c
cleanup and comments
2019-11-17 10:41:05 +13:00
JCrawfy
2307ed4edf
exceptions, not asserts
2019-11-16 19:49:17 +13:00
JCrawfy
a580079702
and more warnings suppressed
2019-11-16 15:03:28 +13:00
JCrawfy
96beae421f
matchup integer types
2019-11-16 14:49:58 +13:00
JCrawfy
9d687eaf49
remove all usages of strtod_c
2019-11-16 14:30:40 +13:00
JCrawfy
e059d259c7
specialise number_converter when strtod_l is available
...
in load benchmark, not using the specialisation adds ~10% to execution time
2019-11-16 14:18:33 +13:00
JCrawfy
ea532c5c46
resolve some warnings
2019-11-16 14:16:45 +13:00
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