Todd
a367a88248
spreadsheet: update merged cell references when inserting rows
...
Fixes #212
2018-10-14 18:26:02 -05:00
Todd
31484197ea
spreadsheet: support inserting rows within a sheet
...
Fixes #203
2018-09-28 05:49:56 -05:00
Todd
99ed4875e1
spreadsheet: support evaluation of shared formulas
...
This seems to be very uncommon.
2017-10-01 19:29:13 -05:00
Todd
968e4ba29d
spreadsheet: use ParseCellReference from reference package
...
Drop the old cell reference parsing code and use the new code
that parses to a struct and identifies absolute references
2017-10-01 19:29:13 -05:00
Todd
988f2e3290
spreadsheet: move ColumnToIndex/IndexToColumn
...
Create a spreadsheet/reference package and put these functions
there. This prevents both duplication across the formula &
spreadsheet packages and a cyclic reference.
2017-10-01 19:29:13 -05:00
Todd
d7515808d8
spreadsheet: initial shared formula support
2017-10-01 19:29:13 -05:00
Todd
5bfa034ef9
gooxml: add and use a Log function
...
This allows redirecting or discarding any
logs produced by the library.
2017-09-30 07:09:26 -05:00
Todd
89b1416b8f
gooxml: rework how filenames are calculated
...
This is needed for pivot tables, split out from that branch
so any further changes to filename handling will be easier in
master.
2017-09-28 18:20:56 -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
5c7852d21e
schema: rename spreadsheetml to sml
2017-09-23 10:01:17 -04:00
Todd
09825ac816
schema: rework schema namespaces to work around Windows issues
...
The go command on Windows doesn't like long path name. To
work around this, this is the first in a series of changes to
shorten the schema disk path structure in a few places.
Fixes #89
2017-09-23 10:01:17 -04:00
Todd
f0de9225cf
spreadsheet: return errors if passed an invalid reference
2017-09-21 21:52:15 -04: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
00be1d037c
formula: support evaluating array formulas
...
Array formulas are entered in Excel by pressing
Ctrl+Shift+Enter to finish the formula. The resulting
formula is entirely in one cell, but its computed results
expand into cells the size of the array result.
2017-09-21 20:20:06 -04:00
Todd
a8d038561c
spreadsheet: add support for protecting/unprotecting workbooks/sheets
2017-09-20 15:15:13 -04:00
Todd
49e34b1d90
formula: better support for thousands separator
2017-09-18 22:30:08 -05:00
Todd
39028bcd7a
spreadsheet: add ability to recalculate formulas
...
If the formula executes without errors, it stores the
result as a cached value in the sheet.
2017-09-17 14:56:58 -05:00
Todd
a4a1562f7c
spreadsheet: add formula reading/writing support
...
Minimal support for now, just enough to read table
ranges so they can be used from formulas.
2017-09-17 14:56:58 -05:00
Todd
9b89ae1f12
spreadsheet: add fast paths for appending rows/cells
2017-09-15 17:43:40 -05:00
Todd
17a365ee93
spreadsheet: start adding support for formula evaluation
...
We can take advantage of cached formula results that Excel/LibreOffice
insert to ensure that our formula results match the expected results.
2017-09-14 22:17:42 -05:00
Todd
0791b4688b
spreadsheet: add freeze rows/columns support and example
2017-09-10 19:11:53 -05:00
Todd
9e6bfaf6e1
spreadsheet: add method to clear cached formula results
2017-09-10 17:28:36 -05:00
Todd
f3eca9e68e
spreadsheet: add support for data validation rules
2017-09-10 17:13:40 -05:00
Todd
db7145dcbb
spreadsheet: add helper function for applying a border to multiple cells
2017-09-10 16:13:11 -05:00
Todd
3bc4675cf6
spreadsheet: add comment support
...
This adds comment support for sheets. Excel requires a VML drawing with
the comment box shape for each comment to display the comment.
LibreOffice displays comments fine with or without the shape, and
creates the shape for its own comments. For the sake of compatibility,
we create comment shapes as well.
I know of no other use for the legacy VML support other than comment
boxes...
2017-09-10 11:25:29 -05:00
Todd
ceb8570558
spreadsheet: add support for column formatting
2017-09-09 11:02:39 -05:00
Todd
3b50df7eb7
spreadsheet: add support for conditional formatting
2017-09-09 09:34:57 -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
2d710a2e6d
spreadsheet: ensure rows stay sorted
...
This fixes an issue with Mac Excel being unable to display
unsorted rows.
2017-09-07 12:44:31 -04:00
Todd
03540b8c38
spreadsheet: add support for defined names
2017-09-07 07:34:52 -04:00
Todd
2498814f67
spreadsheet: add support for hyperlinks
2017-09-07 06:12:41 -04:00
Todd
adb206e663
spreadsheet: always set cell reference numbers
2017-09-07 06:12:41 -04:00
Todd
0aebfb3d95
spreadsheet: pass sheet/row information down to cell wrapper
2017-09-07 06:12:41 -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
Todd
f959cb0c9f
spreadsheet: working line chart
...
- needs major cleanup, but it displays in Libre
2017-09-04 11:08:29 -05:00
Todd
f07c57cae7
gooxml: move content types to base package
2017-09-04 11:08:29 -05:00
Todd
1896e7fd06
spreadsheet: allow setting/retrieving sheet name
2017-09-02 17:50:38 -05:00
Todd
4bd04dd2e5
initial commit
2017-08-29 15:06:08 -05:00