summaryrefslogtreecommitdiff
path: root/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'file.go')
-rw-r--r--file.go24
1 files changed, 10 insertions, 14 deletions
diff --git a/file.go b/file.go
index a9e7eec..8fe4115 100644
--- a/file.go
+++ b/file.go
@@ -1,11 +1,11 @@
-// Copyright 2016 - 2019 The excelize Authors. All rights reserved. Use of
+// Copyright 2016 - 2020 The excelize Authors. All rights reserved. Use of
// this source code is governed by a BSD-style license that can be found in
// the LICENSE file.
//
// Package excelize providing a set of functions that allow you to write to
// and read from XLSX files. Support reads and writes XLSX file generated by
// Microsoft Excelâ„¢ 2007 and later. Support save file without losing original
-// charts of XLSX. This library needs Go version 1.8 or later.
+// charts of XLSX. This library needs Go version 1.10 or later.
package excelize
@@ -33,23 +33,18 @@ func NewFile() *File {
file["xl/styles.xml"] = []byte(XMLHeader + templateStyles)
file["xl/workbook.xml"] = []byte(XMLHeader + templateWorkbook)
file["[Content_Types].xml"] = []byte(XMLHeader + templateContentTypes)
- f := &File{
- sheetMap: make(map[string]string),
- Sheet: make(map[string]*xlsxWorksheet),
- SheetCount: 1,
- XLSX: file,
- }
+ f := newFile()
+ f.SheetCount, f.XLSX = 1, file
f.CalcChain = f.calcChainReader()
f.Comments = make(map[string]*xlsxComments)
f.ContentTypes = f.contentTypesReader()
- f.DrawingRels = make(map[string]*xlsxWorkbookRels)
f.Drawings = make(map[string]*xlsxWsDr)
f.Styles = f.stylesReader()
f.DecodeVMLDrawing = make(map[string]*decodeVmlDrawing)
f.VMLDrawing = make(map[string]*vmlDrawing)
f.WorkBook = f.workbookReader()
- f.WorkBookRels = f.workbookRelsReader()
- f.WorkSheetRels = make(map[string]*xlsxWorkbookRels)
+ f.Relationships = make(map[string]*xlsxRelationships)
+ f.Relationships["xl/_rels/workbook.xml.rels"] = f.relsReader("xl/_rels/workbook.xml.rels")
f.Sheet["xl/worksheets/sheet1.xml"], _ = f.workSheetReader("Sheet1")
f.sheetMap["Sheet1"] = "xl/worksheets/sheet1.xml"
f.Theme = f.themeReader()
@@ -97,22 +92,23 @@ func (f *File) WriteToBuffer() (*bytes.Buffer, error) {
f.calcChainWriter()
f.commentsWriter()
f.contentTypesWriter()
- f.drawingRelsWriter()
f.drawingsWriter()
f.vmlDrawingWriter()
f.workBookWriter()
- f.workBookRelsWriter()
f.workSheetWriter()
- f.workSheetRelsWriter()
+ f.relsWriter()
+ f.sharedStringsWriter()
f.styleSheetWriter()
for path, content := range f.XLSX {
fi, err := zw.Create(path)
if err != nil {
+ zw.Close()
return buf, err
}
_, err = fi.Write(content)
if err != nil {
+ zw.Close()
return buf, err
}
}