Commit Graph

212 Commits

Author SHA1 Message Date
Thomas Fussell
a52bcd5fef implement defined names 2022-08-21 10:57:02 -05:00
Thomas Fussell
bf92dd7640 implement shared and array formulas 2022-08-13 13:20:25 -05:00
Thomas Fussell
5c2fdff70f fix unhandled enumeration values in switch statement 2022-08-13 08:52:32 -05:00
Blakjak88
6b5755af30
Update xlsx_producer.cpp
show_grid_lines() is default enabled in Excel so attribute should only be written when it is set to false. 

Added 'if-statement' to check for 'false' before writing attribute.
2022-08-07 11:11:15 +08:00
Blakjak88
dbfed051c8
Update xlsx_producer.cpp 2022-07-05 12:53:47 +08:00
Thomas Fussell
09dd4797b4
Merge pull request #600 from doomlaur/bugfix/streaming_reader_clean_cell_state
The streaming cell now always begins with a clean state when using the xlnt::streaming_workbook_reader
2022-01-09 17:37:18 -05:00
Laurențiu Leahu-Vlăducu
f6f4adca7d
Fixed a bug when using the xlnt::streaming_workbook_reader where a streaming cell could still contain information from the previously streamed cell. This could happen if the new cell did not contain information that could override the information of the previous cell, e.g. when the cell in XML only contained something like <c r="H4"/>, so the streamed cell still contained the type and the string/value of the previously streamed cell. 2021-12-01 14:09:37 +01:00
Wu, Ganhao
5946eec32e Fix - Print Settings (Page Size, margins, etc) not saved when loading a file and save it. 2021-08-29 02:56:57 +08:00
Thomas Fussell
04b6b97577
Merge branch 'master' into master 2021-08-22 08:41:01 -04:00
Thomas Fussell
04ebd7ef9d fix warnings, bump copyright, fix typo, update npm libs 2021-08-22 08:23:18 -04:00
Sewon Park
c160db4ef6
Merge branch 'master' into master 2021-06-24 15:45:51 +09:00
Thomas Fussell
74fc642676 work on strikethrough for #530 2021-02-21 16:52:03 -04:00
Sewon Park
7f44dc2274 minimum support for xlsm 2021-01-21 21:45:24 +09:00
Thomas Fussell
f0da7f61bb
Merge branch 'master' into memory_leaks_fix 2021-01-03 19:31:11 -05:00
Thomas Fussell
a8b631bcbb replace enable_if_t 2021-01-03 18:42:56 -05:00
Thomas Fussell
c007dafe33 add include 2021-01-03 18:26:48 -05:00
Thomas Fussell
1868128dda
Merge branch 'master' into memory_leaks_fix 2021-01-03 12:22:12 -05:00
Thomas Fussell
e53ef68469 fix compiler warnings and some valgrind problems 2021-01-03 12:20:46 -05:00
Thomas Fussell
0039eab40d fix gcc 4.8.2 build problems 2021-01-03 09:33:43 -05:00
Thomas Fussell
c5d449915f fix shared string handling 2021-01-02 15:28:14 -05:00
Thomas Fussell
18e82f35d3 Revert "Shared strings"
This reverts commit d6262df555.
2021-01-02 15:20:56 -05:00
Thomas Fussell
90868bdb2a
Merge branch 'master' into issue-509-count-missing 2021-01-02 15:02:37 -05:00
Thomas Fussell
c31b2aa51d
Merge branch 'master' into issue-494-shared-string 2021-01-02 15:01:41 -05:00
Thomas Fussell
08e51ccdc0
Merge branch 'master' into feature/hidden-sheet 2021-01-02 14:58:47 -05:00
Thomas Fussell
f6e43a312d
Merge branch 'master' into feature/hidden-sheet 2021-01-02 14:57:12 -05:00
Thomas Fussell
dd215794db
Merge branch 'master' into issue_503_external_link 2021-01-02 14:54:31 -05:00
Thomas Fussell
566d83d447
Merge branch 'master' into master 2021-01-02 14:41:10 -05:00
kira
687af90735 Memory leaks fix 2020-11-20 15:24:47 +03:00
胡剑波
dc9f550429 Fix the missing count of fonts and throw an exception. 2020-08-25 16:40:33 +08:00
胡剑波
e8dd38d0d6 Fix throwing exception when duplicate shared strings occur. 2020-08-25 15:08:20 +08:00
胡剑波
dafdfa3ebb Add the function of getting table hidden attributes. 2020-08-25 13:32:21 +08:00
胡剑波
0ecad78c1d Fixed an exception thrown when parsing external links. 2020-08-25 09:00:22 +08:00
Adam Hooper
319c4197c1
Streaming: skip empty rows in has_cell()/read_cell()
Previously, an empty row would mess with the parser: if we're in an
empty row, our helper methods don't detect us as being in the "row" _or_
in the "sheetData". So `has_cell()` would return false when it
shouldn't. Similarly, `read_cell()` wouldn't skip rows; so `read_cell()`
would return an invalid cell when placed in an empty row, causing a
segfault when the caller tried to use the cell.

Callers must take care to call `has_next()` before `read_next()`. In
the future, perhaps we can make `read_next()` return a `std::optional`
and nix `has_next()` altogether?

[Closes #492]
2020-07-28 15:29:12 -04:00
JCrawfy
06801f7d36 derp, need typename too 2020-04-26 15:54:49 +12:00
JCrawfy
6c5a5a5dae and same issue with is_convertible 2020-04-26 15:49:05 +12:00
JCrawfy
f1042c5119 enable_if_t isn't a thing in C++11 2020-04-26 15:47:53 +12:00
JCrawfy
504fed3585 another missing header 2020-04-26 15:40:56 +12:00
JCrawfy
d30e705f83 fix most (all?) the places where string<->double conversions are performed
strod / stod / to_string and all related friends are dependant on current locale for how they format a number
2020-04-25 14:00:58 +12:00
JCrawfy
dfb8f1518e Revert "redo serialisation by using a sorted vector instead of a lookup for each possible row/column combination"
This reverts commit 63484f8b8f.
2020-04-25 11:15:23 +12:00
JCrawfy
63484f8b8f redo serialisation by using a sorted vector instead of a lookup for each possible row/column combination
Not tested, definitely not as correct as previous implementation
2020-04-25 11:00:39 +12:00
JCrawfy
9136d21845 move the simplified cell_reference and cell structs out to a header
the standard xlnt::cell and xlnt::cell_reference have plenty of extra functionality that just slows things down during (de)serialisation
These intermediate structs can be used to minimise overhead before transforming to the final type
2020-04-25 11:00:39 +12:00
JCrawfy
1069c17fbe fixup comment in parser 2020-04-25 11:00:39 +12:00
JCrawfy
e8e29e9c18 resolve some warnings (unintialised variables), remove warning suppression 2020-04-25 11:00:39 +12:00
JCrawfy
c418c13010 remove a double lookup in the cell map during serialisation 2020-03-01 23:18:13 +13:00
JCrawfy
39f498f401 use the new faster serialisation everywhere in xlsx_producer 2020-03-01 22:01:53 +13:00
JCrawfy
0915fde090 add saving to the spreadsheet-load test, fix a bug in the serialiser 2020-03-01 20:43:56 +13:00
Adam Hooper
ac18fc6dde Parse inlineStr values
inlineStr XML structure is <c><is><t>. This was being parsed incorrectly
when streaming (because has_value wasn't being set to true) and when
reading the whole file (because the <t> was ignored).

[closes #445]
2020-02-25 14:32:14 -05:00
Thomas Fussell
e8ee585897
bump copyright year to 2020 2020-02-08 12:12:59 -05:00
Thomas Fussell
39503e8bf0 fix warnings and other minor issues 2019-12-26 12:52:14 -05:00
Thomas Fussell
8014e2fe19 update miniz to 2.1, move to third-party 2019-12-26 12:51:02 -05:00