summaryrefslogtreecommitdiff
path: root/chart.go
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2019-12-20 01:00:15 +0800
committerxuri <xuri.me@gmail.com>2019-12-20 01:00:15 +0800
commit4249dad8eaf8a6dee93fafeffe0bbbd794581ffe (patch)
treec9f32214bd8b5e60d7987b8fb7bac43e5fbae703 /chart.go
parenta526e90404913f5d649d29a7aeee29f5ac9ff590 (diff)
parentb1b3c0d15158abc71267da5893de020f047c3872 (diff)
Resolve #539 Merge branch 'v2'
# Conflicts: # rows.go # sheet.go
Diffstat (limited to 'chart.go')
-rw-r--r--chart.go16
1 files changed, 13 insertions, 3 deletions
diff --git a/chart.go b/chart.go
index bbd71d6..bf8155a 100644
--- a/chart.go
+++ b/chart.go
@@ -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{