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
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
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
40baecdf02
Merge branch 'images' of https://github.com/kostasdizas/xlnt into kostasdizas-images
2019-07-06 14:02:24 -04: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
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
38f12ff846
Serialise phonetic runs and properties
2018-11-21 13:43:42 +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
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
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
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
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
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
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
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
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
ade8cf3b6c
Ensure <color tint=...> is correctly serialised as an optional double
2018-07-28 14:44:49 +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
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
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
ad759ae4f7
fix for build failure with GCC8{-std=c++17}
2018-07-16 19:08:19 +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
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
1ab25fa7fc
Merge branch 'dev' into dev-Issue298
2018-07-13 11:21:13 +12:00
sukoi26
28a71572cf
update #290
...
suggested by Crzyrndm
2018-07-10 09:32:34 +02: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
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
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
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