diff options
author | xuri <xuri.me@gmail.com> | 2021-12-27 23:34:14 +0800 |
---|---|---|
committer | xuri <xuri.me@gmail.com> | 2021-12-27 23:49:28 +0800 |
commit | 89b85934f60ba0012f3de6da03eb12959e4b4b72 (patch) | |
tree | 3d913c2bdabf06b79b7c2f223cfe26b64aacd8cc /templates.go | |
parent | 6b1e592cbc7b1412da5f6d0badeaf1083117c762 (diff) |
This closes #1096, memory usage optimization and another 4 changes
- Unzip shared string table to system temporary file when large inner XML, reduce memory usage about 70%
- Remove unnecessary exported variable `XMLHeader`, we can using `encoding/xml` package's `xml.Header` instead of it
- Using constant instead of inline text for default XML path
- Rename exported option field `WorksheetUnzipMemLimit` to `UnzipXMLSizeLimit`
- Unit test and documentation updated
Diffstat (limited to 'templates.go')
-rw-r--r-- | templates.go | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/templates.go b/templates.go index 56588c4..1783d7c 100644 --- a/templates.go +++ b/templates.go @@ -14,13 +14,22 @@ package excelize -// XMLHeader define an XML declaration can also contain a standalone declaration. -const XMLHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +import "encoding/xml" var ( // XMLHeaderByte define an XML declaration can also contain a standalone // declaration. - XMLHeaderByte = []byte(XMLHeader) + XMLHeaderByte = []byte(xml.Header) +) + +const ( + defaultXMLPathContentTypes = "[Content_Types].xml" + dafaultXMLPathDocPropsApp = "docProps/app.xml" + dafaultXMLPathDocPropsCore = "docProps/core.xml" + dafaultXMLPathCalcChain = "xl/calcChain.xml" + dafaultXMLPathSharedStrings = "xl/sharedStrings.xml" + defaultXMLPathStyles = "xl/styles.xml" + defaultXMLPathWorkbook = "xl/workbook.xml" ) const templateDocpropsApp = `<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><TotalTime>0</TotalTime><Application>Go Excelize</Application></Properties>` |