diff options
author | xuri <xuri.me@gmail.com> | 2019-12-20 01:00:15 +0800 |
---|---|---|
committer | xuri <xuri.me@gmail.com> | 2019-12-20 01:00:15 +0800 |
commit | 4249dad8eaf8a6dee93fafeffe0bbbd794581ffe (patch) | |
tree | c9f32214bd8b5e60d7987b8fb7bac43e5fbae703 /chart.go | |
parent | a526e90404913f5d649d29a7aeee29f5ac9ff590 (diff) | |
parent | b1b3c0d15158abc71267da5893de020f047c3872 (diff) |
Resolve #539 Merge branch 'v2'
# Conflicts:
# rows.go
# sheet.go
Diffstat (limited to 'chart.go')
-rw-r--r-- | chart.go | 16 |
1 files changed, 13 insertions, 3 deletions
@@ -10,9 +10,12 @@ package excelize import ( + "bytes" "encoding/json" "encoding/xml" "errors" + "io" + "log" "strconv" "strings" ) @@ -1750,14 +1753,21 @@ func (f *File) drawPlotAreaTxPr() *cTxPr { // deserialization, two different structures: decodeWsDr and encodeWsDr are // defined. func (f *File) drawingParser(path string) (*xlsxWsDr, int) { + var ( + err error + ok bool + ) + if f.Drawings[path] == nil { content := xlsxWsDr{} content.A = NameSpaceDrawingML content.Xdr = NameSpaceDrawingMLSpreadSheet - _, ok := f.XLSX[path] - if ok { // Append Model + if _, ok = f.XLSX[path]; ok { // Append Model decodeWsDr := decodeWsDr{} - _ = xml.Unmarshal(namespaceStrictToTransitional(f.readXML(path)), &decodeWsDr) + if err = f.xmlNewDecoder(bytes.NewReader(namespaceStrictToTransitional(f.readXML(path)))). + Decode(&decodeWsDr); err != nil && err != io.EOF { + log.Printf("xml decode error: %s", err) + } content.R = decodeWsDr.R for _, v := range decodeWsDr.OneCellAnchor { content.OneCellAnchor = append(content.OneCellAnchor, &xdrCellAnchor{ |