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 /styles.go | |
| parent | a526e90404913f5d649d29a7aeee29f5ac9ff590 (diff) | |
| parent | b1b3c0d15158abc71267da5893de020f047c3872 (diff) | |
Resolve #539 Merge branch 'v2'
# Conflicts:
# rows.go
# sheet.go
Diffstat (limited to 'styles.go')
| -rw-r--r-- | styles.go | 26 |
1 files changed, 21 insertions, 5 deletions
@@ -10,9 +10,12 @@ package excelize import ( + "bytes" "encoding/json" "encoding/xml" "fmt" + "io" + "log" "math" "strconv" "strings" @@ -997,11 +1000,16 @@ func is12HourTime(format string) bool { // stylesReader provides a function to get the pointer to the structure after // deserialization of xl/styles.xml. func (f *File) stylesReader() *xlsxStyleSheet { + var err error + if f.Styles == nil { - var styleSheet xlsxStyleSheet - _ = xml.Unmarshal(namespaceStrictToTransitional(f.readXML("xl/styles.xml")), &styleSheet) - f.Styles = &styleSheet + f.Styles = new(xlsxStyleSheet) + if err = f.xmlNewDecoder(bytes.NewReader(namespaceStrictToTransitional(f.readXML("xl/styles.xml")))). + Decode(f.Styles); err != nil && err != io.EOF { + log.Printf("xml decode error: %s", err) + } } + return f.Styles } @@ -2803,8 +2811,16 @@ func getPaletteColor(color string) string { // themeReader provides a function to get the pointer to the xl/theme/theme1.xml // structure after deserialization. func (f *File) themeReader() *xlsxTheme { - var theme xlsxTheme - _ = xml.Unmarshal(namespaceStrictToTransitional(f.readXML("xl/theme/theme1.xml")), &theme) + var ( + err error + theme xlsxTheme + ) + + if err = f.xmlNewDecoder(bytes.NewReader(namespaceStrictToTransitional(f.readXML("xl/theme/theme1.xml")))). + Decode(&theme); err != nil && err != io.EOF { + log.Printf("xml decoder error: %s", err) + } + return &theme } |
