Todd
31484197ea
spreadsheet: support inserting rows within a sheet
...
Fixes #203
2018-09-28 05:49:56 -05:00
Todd
e6c056205f
meta: fix pdf export ole example
2018-07-27 16:30:49 -05:00
Todd
d21b0d3cfb
spreadsheet: add Column method to cell
2018-02-06 06:09:03 -06:00
Todd
65256235c2
spreadsheet: fix for sheet ordering bug
...
Need to test this more, may be working by chance...
Updates #154
2018-02-05 20:27:50 -06:00
Todd
33a8645f66
common: fix app version
...
Our app version wasn't correct per MS's spec. Modify it
to match the XX.YYYY format.
2018-01-18 17:30:07 -05:00
Todd
01883a5e87
common: support more app/core properties
...
Support language, links up to date, and document security
flag and update unit test golden files.
2018-01-18 10:53:35 -06:00
Todd
f8b73698a6
gooxml: don't put a 'v' in version number metadata
...
OSX Word requires that this be only numbers, or it will
display an error indicating a corrupted file.
2017-10-03 07:40:50 -05:00
Todd
5f6b0bf9f9
spreadsheet: add more unit tests
2017-10-02 18:36:49 -05:00
Todd
76cd395f6a
spreadsheet: clear temp files when closing sheets
...
We don't bother keeping all files in memory as there
can be several, and we don't need them all. This just
adds a Close() method that can be used to ensure the
temporary files are removed.
2017-10-02 18:36:49 -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
d0820f1553
gooxml: add release info to metadata in generated files
2017-10-01 11:45:06 -05:00
Todd
801388a119
gooxml: clean up some old TODOs
2017-09-30 07:09:26 -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
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
61b27ff447
spreadsheet: return cached formula values with GetString
...
This seems to make sense, and probably doesn't hurt in any case.
2017-09-27 22:07:21 -05:00
Todd
780ee23e1a
spreadsheet: use math.Big for SetTime/GetValueAsTime
...
The conversion to float64 caused precision issues for
far future dates, this at least avoids the problem for
most likely all scenarios that matter and can be enhanced
by just adding more bits.
2017-09-27 22:07:21 -05:00
Todd
551e748377
spreadsheet: recompute sheet dimensions prior to save
2017-09-27 18:27:53 -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
599631208a
schema: rename drawingml to dml
2017-09-23 10:01:17 -04:00
Todd
e880adfc5b
schema: rename package to pkg
2017-09-23 10:01:17 -04: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
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
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
c4c9138da2
formula: add more index functions
...
- HLOOKUP
- LOOKUP
- TRANSPOSE
- VLOOKUP
2017-09-21 19:31:28 -04:00
Todd
f915bf1a9b
formula: support for more statistical functions
...
- AVERAGE
- AVERAGEA
- COUNT
- COUNTA
- COUNTBLANK
- MEDIAN
2017-09-20 20:47:03 -04:00
Todd
0e09e64818
formula: compatibility & bug fixes
...
- Make UNICODE with no arguments behave like Excel
- Fix OFFSET/INDEX for named ranges
2017-09-20 20:47:03 -04:00
Todd
e7da598399
spreadsheet: return empty values from sheet context
...
This is required as AVERAGE/AVERAGEA need to distinguish between
empty and non-empty cells.
2017-09-20 20:47:03 -04:00
Todd
b056033c12
format: add support for string formats
2017-09-20 15:15:13 -04:00
Todd
5f6ed3a319
spreadsheet: add unit tests for default number formats
2017-09-20 15:15:13 -04:00
Todd
6a8920a1c7
spreadsheet: fix number format 47
...
This appears to be a typo in the ECMA 376 document. Excel treats
it as "mm:ss.0" and not "mmss.0"
2017-09-20 15:15:13 -04:00
Todd
1992e3c519
format: support variable denominators in fraction formats
2017-09-20 15:15:13 -04:00
Todd
a8d038561c
spreadsheet: add support for protecting/unprotecting workbooks/sheets
2017-09-20 15:15:13 -04:00
Todd
20e8ecd685
format: add package doc
2017-09-19 19:45:41 -04:00
Todd
1103aa1edb
format: add support for fraction formatting
2017-09-19 16:35:11 -04:00
Todd
32bc9e3a50
format: fix vet errors with generated function
2017-09-18 22:30:08 -05:00
Todd
b30eaaae44
format: change debugging log.Fatal to log.Printf
2017-09-18 22:30:08 -05:00
Todd
b03eec358d
spreadsheet: add xlsx2csv demo
...
This demo program will extract either raw or formatted
values from a spreadsheet, creating one CSV file per
sheet.
2017-09-18 22:30:08 -05:00
Todd
49e34b1d90
formula: better support for thousands separator
2017-09-18 22:30:08 -05: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
d9c4a27794
spreadsheet: start adding support for extracting formatted cell value
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
b54a2efd19
formula: add method to determine the supported functions
2017-09-17 14:56:58 -05:00
Todd
422484af83
formula: add more complex function support
...
- INDEX
- INDIRECT
- OFFSET
2017-09-17 14:56:58 -05:00