diff options
author | xuri <xuri.me@gmail.com> | 2019-12-11 00:02:33 +0800 |
---|---|---|
committer | xuri <xuri.me@gmail.com> | 2019-12-11 00:02:33 +0800 |
commit | 5d8365ca17240f5b144d437a7b47052f22c4f3c6 (patch) | |
tree | afe24909b91d065bc34cb9a44696098ff99d81f3 | |
parent | 08d1a86c3a1bffdf431dba6a3d5a3b369ef740a7 (diff) |
Fix #529, handle empty inline rich text
-rw-r--r-- | rows.go | 5 | ||||
-rw-r--r-- | rows_test.go | 9 |
2 files changed, 13 insertions, 1 deletions
@@ -279,7 +279,10 @@ func (xlsx *xlsxC) getValueFrom(f *File, d *xlsxSST) (string, error) { case "str": return f.formattedValue(xlsx.S, xlsx.V), nil case "inlineStr": - return f.formattedValue(xlsx.S, xlsx.IS.String()), nil + if xlsx.IS != nil { + return f.formattedValue(xlsx.S, xlsx.IS.String()), nil + } + return f.formattedValue(xlsx.S, xlsx.V), nil default: return f.formattedValue(xlsx.S, xlsx.V), nil } diff --git a/rows_test.go b/rows_test.go index 47c9d96..6b50c75 100644 --- a/rows_test.go +++ b/rows_test.go @@ -706,6 +706,15 @@ func TestDuplicateRowInvalidRownum(t *testing.T) { } } +func TestGetValueFrom(t *testing.T) { + c := &xlsxC{T: "inlineStr"} + f := NewFile() + d := &xlsxSST{} + val, err := c.getValueFrom(f, d) + assert.NoError(t, err) + assert.Equal(t, "", val) +} + func TestErrSheetNotExistError(t *testing.T) { err := ErrSheetNotExist{SheetName: "Sheet1"} assert.EqualValues(t, err.Error(), "sheet Sheet1 is not exist") |