267 Commits

Author SHA1 Message Date
Todd
cb28280f74 document: refactor properties
Move functions from Run to the Run's properties
2017-10-10 17:03:43 -04:00
Todd
6884ee78c3 document: support adding hyperlinks to a document
Fixes #113
2017-10-10 12:58:20 -05:00
Todd
35ff76f0f2 document: allow controlling table cell width
Fixes #112
2017-10-10 12:58:20 -05:00
Todd
693acf8c3f example: fix old example after namespace change 2017-10-10 07:58:58 -05:00
Todd
97606f33f1 document: allow more table control
- Table alignment within a page
- Row Height
- Cell vertical alignment

Fixes #109
2017-10-10 07:49:03 -05:00
Todd
7343e2d31f spreadsheet: don't allow extra content on Workbook
Fixes #107
2017-10-05 08:21:17 -04:00
Todd
0805be88ba examples: add a table example with shading and centering
Fixes #104
2017-10-03 08:19:10 -05:00
Todd
51a92c4642 document: add support for controlling table cell shading 2017-10-03 08:19:10 -05:00
Todd
c887342ed1 document: add validation for table row/cell contents
OSX Word is very opinionated about the contents.
2017-10-03 08:19:10 -05:00
Todd
b7c59b4c94 document: support controlling paragraph alignment 2017-10-03 08:19:10 -05: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
56e9890d9f schema: round trip extra content on Workbook
Excel occasionally drops some alternate content with
path information here.
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
46dda892ed meta: add commercial EULA for those interested 2017-10-01 11:45:06 -05:00
Todd
665d3a281d gooxml: add support for verifying versions and license 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
6cf6944f09 document: support inserting runs mid-paragraph v0.4.0 2017-09-28 19:21:07 -05:00
Todd
1b53d772ee document: support inserting paragraphs within a document 2017-09-28 18:20:56 -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
11edbae6be document: fix rewriting of images within document names
I have a better fix for filenames in the pivot table branch
that I intend to break out later.
2017-09-28 16:56:22 -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
73e0a188cf example: add a document edit example
This examples shows taking an arbitrary docx and
editing/removing content from it.
2017-09-26 19:34:13 -05:00
Todd
82f22691b2 document: support removing runs/paragraphs 2017-09-26 19:34:13 -05:00
Todd
ad46a6ae15 schema: preserve extra content on CT_R/CT_SdtPr
The extra content is non-standard, but Libre seems to support
it well so we just round-trip it for now.
2017-09-26 19:34:13 -05:00
Todd
427f7b1e45 schema: rename officeDocument to ofc 2017-09-23 10:01:17 -04: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
cfd74875a6 schema: rename presentationml to pml 2017-09-23 10:01:17 -04:00
Todd
ca6c54dc60 schema: rename wordprocessingml to wml 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
5553f30ada chart: add some tests
The tests aren't much, but they do execute
some functionality that should always work.
2017-09-22 21:49:48 -04:00
Todd
de75c0030e meta: test codecov.io 2017-09-22 21:49:48 -04:00
Todd
20dce01067 test: add more tests for xsdany and optional
- XSDAny
- filename generation
- optional
2017-09-22 20:58:57 -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