Skip to content

Commit 840c605

Browse files
committed
fix: fix nil sheet model append nil pointer reference.
1 parent 3d92f7b commit 840c605

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

build.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ func write(sheetModels []SheetModel, opts ...Option) (*excelize.File, error) {
8484
f := excelize.NewFile()
8585
sheetLinesCount := make(map[string]int)
8686
for _, sheetModel := range sheetModels {
87+
if sheetModel == nil {
88+
return nil, errors.New("nil reference row append is not allowed")
89+
}
8790
sheetName := sheetModel.SheetName()
8891
if sheetName == "" {
8992
return nil, errors.New("sheetModel must have a sheet name")

build_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,3 +379,11 @@ func TestWithHeadless(t *testing.T) {
379379
t.Error(err)
380380
}
381381
}
382+
383+
func TestAppendNilRow(t *testing.T) {
384+
var models []SheetModel
385+
models = append(models, nil)
386+
err := WriteExcelSaveAs("test16.xlsx", models)
387+
assert.EqualError(t, err, "nil reference row append is not allowed")
388+
389+
}

0 commit comments

Comments
 (0)