Commit Graph

17 Commits

Author SHA1 Message Date
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
39f498f401 use the new faster serialisation everywhere in xlsx_producer 2020-03-01 22:01:53 +13:00
Thomas Fussell
e8ee585897
bump copyright year to 2020 2020-02-08 12:12:59 -05:00
Thomas Fussell
a560756b35 use clang-format, fix some small warnings 2019-12-26 12:03:12 -05:00
JCrawfy
a25187f788 fix using attribute<double> (causes bugs when '.' is not the decimal separator 2019-11-18 20:46:34 +13:00
Kostas Dizas
698b40c54c Added basic support for embedded images 2018-10-12 13:52:30 +01:00
Thomas Fussell
90633d0e8e copyright year bump (2018) 2018-01-22 09:38:48 -05:00
Thomas Fussell
716a81a19f optimize hot code paths 2017-09-08 19:08:38 -04:00
Thomas Fussell
e104c6a9b6 specify namespace in friend declaration 2017-07-02 18:54:32 -07:00
Thomas Fussell
56d744b6f9 start cleaning up code 2017-06-25 09:29:45 -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
342184139f intermediate commit 2017-06-15 18:10:27 -04:00
Thomas Fussell
b2a5110939 organize detail files, start wiring up encryption logic 2017-04-20 14:03:03 -04:00