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.
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
This is a pretty uncommon feature from what I can tell
and is not fully supported. The example for the MDETERM
function uses an array though, so this will at least add
enough support for the examples to compute correctly.
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...
The problem this solves is loading and re-saving a document
that uses an odd file structure (e.g. the main body is
not at word/document.xml). I've seen this occur with spreadsheets
but not with a docx in the wild, however it's fairly simple
to handle in case it occurs.
- Created chart, drawing packages for the chart/drawing stuff common
between document type
- Need to go back and clean up any drawing related document types after
This seems like the better choice, a lot of the logic is shared
between the document types, and it allows generating filenames in
a single place.
The only downside is that you must pass in the document type as
some content types have different typical names depending on the
document type (e.g. an 'office document' is the main document.xml,
workbook.xml and presentation.xml
Decoding was getting fairly complicated, it seems cleaner
to have something handle the relationships file and traversal
and the document just be notified via callback when new
files have been found.