diff options
Diffstat (limited to 'file.go')
-rw-r--r-- | file.go | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -3,6 +3,7 @@ package excelize import ( "archive/zip" "bytes" + "encoding/xml" "fmt" "io" "os" @@ -25,7 +26,8 @@ func CreateFile() *File { file["xl/workbook.xml"] = templateWorkbook file["[Content_Types].xml"] = templateContentTypes return &File{ - XLSX: file, + XLSX: file, + Sheet: make(map[string]*xlsxWorksheet), } } @@ -52,6 +54,16 @@ func (f *File) WriteTo(name string) error { func (f *File) Write(w io.Writer) error { buf := new(bytes.Buffer) zw := zip.NewWriter(buf) + for path, sheet := range f.Sheet { + if sheet == nil { + continue + } + output, err := xml.Marshal(sheet) + if err != nil { + return err + } + f.saveFileList(path, replaceWorkSheetsRelationshipsNameSpace(string(output))) + } for path, content := range f.XLSX { fi, err := zw.Create(path) if err != nil { |