Skip to content

Commit ea5b156

Browse files
authored
This closes qax-os#1254, DeleteDataValidation support delete all data validations in the worksheet
1 parent fe2e766 commit ea5b156

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

datavalidation.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -262,16 +262,21 @@ func (f *File) AddDataValidation(sheet string, dv *DataValidation) error {
262262
}
263263

264264
// DeleteDataValidation delete data validation by given worksheet name and
265-
// reference sequence.
266-
func (f *File) DeleteDataValidation(sheet, sqref string) error {
265+
// reference sequence. All data validations in the worksheet will be deleted
266+
// if not specify reference sequence parameter.
267+
func (f *File) DeleteDataValidation(sheet string, sqref ...string) error {
267268
ws, err := f.workSheetReader(sheet)
268269
if err != nil {
269270
return err
270271
}
271272
if ws.DataValidations == nil {
272273
return nil
273274
}
274-
delCells, err := f.flatSqref(sqref)
275+
if sqref == nil {
276+
ws.DataValidations = nil
277+
return nil
278+
}
279+
delCells, err := f.flatSqref(sqref[0])
275280
if err != nil {
276281
return err
277282
}

datavalidation_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,4 +171,8 @@ func TestDeleteDataValidation(t *testing.T) {
171171

172172
// Test delete data validation on no exists worksheet.
173173
assert.EqualError(t, f.DeleteDataValidation("SheetN", "A1:B2"), "sheet SheetN is not exist")
174+
175+
// Test delete all data validations in the worksheet
176+
assert.NoError(t, f.DeleteDataValidation("Sheet1"))
177+
assert.Nil(t, ws.(*xlsxWorksheet).DataValidations)
174178
}

0 commit comments

Comments
 (0)