This closes #1213, fix get incorrect rich text value caused by missing cell type checking
This commit is contained in:
parent
df91b34a3f
commit
0f93bd23c9
6
cell.go
6
cell.go
|
@ -764,7 +764,7 @@ func (f *File) GetCellRichText(sheet, cell string) (runs []RichTextRun, err erro
|
|||
return
|
||||
}
|
||||
siIdx, err := strconv.Atoi(cellData.V)
|
||||
if nil != err {
|
||||
if err != nil || cellData.T != "s" {
|
||||
return
|
||||
}
|
||||
sst := f.sharedStringsReader()
|
||||
|
@ -776,7 +776,7 @@ func (f *File) GetCellRichText(sheet, cell string) (runs []RichTextRun, err erro
|
|||
run := RichTextRun{
|
||||
Text: v.T.Val,
|
||||
}
|
||||
if nil != v.RPr {
|
||||
if v.RPr != nil {
|
||||
font := Font{Underline: "none"}
|
||||
font.Bold = v.RPr.B != nil
|
||||
font.Italic = v.RPr.I != nil
|
||||
|
@ -793,7 +793,7 @@ func (f *File) GetCellRichText(sheet, cell string) (runs []RichTextRun, err erro
|
|||
font.Size = *v.RPr.Sz.Val
|
||||
}
|
||||
font.Strike = v.RPr.Strike != nil
|
||||
if nil != v.RPr.Color {
|
||||
if v.RPr.Color != nil {
|
||||
font.Color = strings.TrimPrefix(v.RPr.Color.RGB, "FF")
|
||||
}
|
||||
run.Font = &font
|
||||
|
|
|
@ -502,8 +502,13 @@ func TestGetCellRichText(t *testing.T) {
|
|||
},
|
||||
}
|
||||
assert.NoError(t, f.SetCellRichText("Sheet1", "A1", runsSource))
|
||||
assert.NoError(t, f.SetCellValue("Sheet1", "A2", false))
|
||||
|
||||
runs, err := f.GetCellRichText("Sheet1", "A1")
|
||||
runs, err := f.GetCellRichText("Sheet1", "A2")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, []RichTextRun(nil), runs)
|
||||
|
||||
runs, err = f.GetCellRichText("Sheet1", "A1")
|
||||
assert.NoError(t, err)
|
||||
|
||||
assert.Equal(t, runsSource[0].Text, runs[0].Text)
|
||||
|
|
Loading…
Reference in New Issue