diff --git a/styles.go b/styles.go index c2dc7fa..9fd0f18 100644 --- a/styles.go +++ b/styles.go @@ -2432,8 +2432,14 @@ func newFills(style *Style, fg bool) *xlsxFill { var pattern xlsxPatternFill pattern.PatternType = patterns[style.Fill.Pattern] if fg { + if pattern.FgColor == nil { + pattern.FgColor = new(xlsxColor) + } pattern.FgColor.RGB = getPaletteColor(style.Fill.Color[0]) } else { + if pattern.BgColor == nil { + pattern.BgColor = new(xlsxColor) + } pattern.BgColor.RGB = getPaletteColor(style.Fill.Color[0]) } fill.PatternFill = &pattern diff --git a/xmlStyles.go b/xmlStyles.go index 2884800..db85b15 100644 --- a/xmlStyles.go +++ b/xmlStyles.go @@ -120,9 +120,9 @@ type xlsxFill struct { // For cell fills with patterns specified, then the cell fill color is // specified by the bgColor element. type xlsxPatternFill struct { - PatternType string `xml:"patternType,attr,omitempty"` - FgColor xlsxColor `xml:"fgColor,omitempty"` - BgColor xlsxColor `xml:"bgColor,omitempty"` + PatternType string `xml:"patternType,attr,omitempty"` + FgColor *xlsxColor `xml:"fgColor"` + BgColor *xlsxColor `xml:"bgColor"` } // xlsxGradientFill defines a gradient-style cell fill. Gradient cell fills can