* Add funcs to remove sheet from workbook
- RemoveSheet added to remove sheet by index
- RemoveSheetByName added to remove sheet by its name
* Add `CopyRelationship` func to `Relationships`
* Add funcs `CopySheet`, `CopySheetByName`
- `CopySheet` copies sheet at the specified index
- `CopySheetByName` copies sheet with the specified name
* Make `CopyRelationship` return copied rel and bool flag
* Add func `CopyOverride` to `ContentTypes`
* Add test for `CopyRelationship`
* Add tests for sheet removing funcs
* Add test for `CopyOverride`
* Add tests for `CopySheet`, `CopySheetByName`
We were relying on ordered relationship IDs to be generated
by other applications when we open their files, but it's not
required which broke an assumption we made. Fix this by ensuring
that generated relationship IDs don't occur in the file already.
Fixes#198
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 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