1
0
mirror of https://github.com/fumiama/go-docx.git synced 2026-06-04 23:30:25 +08:00

fix(structtable): add float fallback when parsing numeric value (#10)

This commit is contained in:
Kwan Jun Wen
2023-07-10 13:54:27 +08:00
committed by GitHub
parent 765b00bcf9
commit 1a682f16d9

View File

@@ -392,7 +392,11 @@ func (g *WGridCol) UnmarshalXML(d *xml.Decoder, start xml.StartElement) (err err
case "w":
g.W, err = strconv.ParseInt(attr.Value, 10, 64)
if err != nil {
return
w, err := strconv.ParseFloat(attr.Value, 64)
if err != nil {
return err
}
g.W = int64(w)
}
default:
// ignore other attributes
@@ -494,7 +498,11 @@ func (t *WTableRowProperties) UnmarshalXML(d *xml.Decoder, _ xml.StartElement) e
case "val":
th.Val, err = strconv.ParseInt(attr.Value, 10, 64)
if err != nil {
return err
w, err := strconv.ParseFloat(attr.Value, 64)
if err != nil {
return err
}
th.Val = int64(w)
}
case "hRule":
th.Rule = attr.Value
@@ -617,7 +625,11 @@ func (r *WTableCellProperties) UnmarshalXML(d *xml.Decoder, _ xml.StartElement)
}
r.TableCellWidth.W, err = strconv.ParseInt(v, 10, 64)
if err != nil {
return err
w, err := strconv.ParseFloat(v, 64)
if err != nil {
return err
}
r.TableCellWidth.W = int64(w)
}
r.TableCellWidth.Type = getAtt(tt.Attr, "type")
case "vMerge":