summaryrefslogtreecommitdiff
path: root/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'file.go')
-rw-r--r--file.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/file.go b/file.go
index 17a8bba..aea7f8e 100644
--- a/file.go
+++ b/file.go
@@ -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 {