12 Commits

Author SHA1 Message Date
Todd
2dddc86a1e spreadsheet: add test for number/string column sorting
This ensures we sort the same way Excel does.
2017-09-28 16:56:22 -05:00
Todd
c5be4536a9 spreadsheet: support sorting a sheet
The file format doesn't support sorting, so we
need to sort the sheet rows and renumber after sorting.
2017-09-27 18:27:53 -05:00
Todd
2c0aa0c665 spreadsheet: add validation for merged cells
Detect overlapping merged cells and report an error
during validation.
2017-09-21 21:52:15 -04:00
Todd
a6ae585a35 spreadsheet: record inf/nan as errors
As you can't directly enter NaN/Inf in Excel, there's
no great way to verify behavior.  This just ensures
that setting NaN/Inf from Go will result in a #NUM!
error in Excel.
2017-09-21 21:14:25 -04:00
Todd
d69cf90249 format: implement support for evaluating spreadsheet number formatting
This adds support for extracting a cell's formatted value according to
the number format applied to the cell.  To do this we need to implement
a parser for Excel style format strings and support formatting numbers
according to that style.

This also enhances the General formatting to be much closer to what
Excel normally does. There are likely still a few corner cases where
Excel and gooxml differ, but hopefully not too many.
2017-09-18 22:30:08 -05:00
Todd
9e6bfaf6e1 spreadsheet: add method to clear cached formula results 2017-09-10 17:28:36 -05:00
Todd
d5c07a59d6 spreadsheet: add method to determine sheet extents 2017-09-09 09:34:57 -05:00
Todd
924140c87d spreadsheet: add support for merged cells 2017-09-07 19:12:30 -04:00
Todd
8957cf73e3 spreadsheet: add validation for sheet name length 2017-09-07 19:12:30 -04:00
Todd
f70810321d spreadsheet: support adding/removing an auto filter 2017-09-07 16:39:40 -04:00
Todd
ee6ad24531 spreadsheet: add convenience methods
- add a Cell method to the sheet that gets/creates a cell
- chance Row.Cell to not require the row number
- rename EnsureRow to Row
- add examples/tests
2017-09-06 17:41:05 -04:00
Todd
7e0d2edaab spreadsheet: add support for named cells/rows 2017-09-06 15:20:51 -04:00