[gnumeric] Fix reading of solid fill conditional formats from xlsx files. [#702615]



commit 0e8deb7c84047f503ced51637ebbfd7a6bb43488
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date:   Thu Jun 20 00:57:41 2013 -0600

    Fix reading of solid fill conditional formats from xlsx files. [#702615]
    
    2013-06-20  Andreas J. Guelzow <aguelzow pyrshep ca>
    
        * xlsx-read.c (xlsx_pattern): set a default pattern

 NEWS                      |    1 +
 plugins/excel/ChangeLog   |    4 ++++
 plugins/excel/xlsx-read.c |   12 ++++++++++++
 3 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/NEWS b/NEWS
index 3e7c60b..bec6767 100644
--- a/NEWS
+++ b/NEWS
@@ -28,6 +28,7 @@ Andreas:
        * Some documentation improvements. [Debian #621735] [Debian #530462]
        * Fix crash on xlsx import due to external references. [#702407]
        * Fix reading of conditional formats from xls files. [#702612]
+       * Fix reading of solid fill conditional formats from xlsx files. [#702615]
 
 Darrell Tangman:
        * Update documentation for Edit and Insert menus. [#700596]
diff --git a/plugins/excel/ChangeLog b/plugins/excel/ChangeLog
index 736e952..18beeee 100644
--- a/plugins/excel/ChangeLog
+++ b/plugins/excel/ChangeLog
@@ -1,3 +1,7 @@
+2013-06-20  Andreas J. Guelzow <aguelzow pyrshep ca>
+
+       * xlsx-read.c (xlsx_pattern): set a default pattern
+
 2013-06-19  Andreas J. Guelzow <aguelzow pyrshep ca>
 
        * ms-excel-read.c (excel_read_CF_border): change GnmStyleCond
diff --git a/plugins/excel/xlsx-read.c b/plugins/excel/xlsx-read.c
index 40e20df..74d17b4 100644
--- a/plugins/excel/xlsx-read.c
+++ b/plugins/excel/xlsx-read.c
@@ -4135,6 +4135,18 @@ xlsx_pattern (GsfXMLIn *xin, xmlChar const **attrs)
        XLSXReadState *state = (XLSXReadState *)xin->user_state;
        int val = 0; /* none */
 
+       /* we are setting a default pattern of solid, see bug #702615 */
+       /* Note that this conflicts with ECMA 376: "This element is used
+          to specify cell fill information for pattern and solid color
+          cell fills. For solid cell fills (no pattern), fgColor is used.
+          For cell fills with patterns specified, then the cell fill color
+          is specified by the bgColor element." */
+       /* As the above bug report shows Excel 2010 creates: */
+       /* <dxf><font><color rgb="FF9C0006"/></font><fill><patternFill>
+          <bgColor rgb="FFFFC7CE"/></patternFill></fill></dxf> */
+
+       gnm_style_set_pattern (state->style_accum, 1);
+
        for (; attrs != NULL && attrs[0] && attrs[1] ; attrs += 2)
                if (attr_enum (xin, attrs, "patternType", patterns, &val))
                        gnm_style_set_pattern (state->style_accum, val);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]