Skip to content

Commit 7e614c5

Browse files
authored
This closes qax-os#2072, support adjust data validations cross multiple worksheets (qax-os#2073)
1 parent a45d47d commit 7e614c5

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

adjust.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,7 @@ func (f *File) adjustDataValidations(ws *xlsxWorksheet, sheet string, dir adjust
969969
return err
970970
}
971971
if worksheet.DataValidations == nil {
972-
return nil
972+
continue
973973
}
974974
for i := 0; i < len(worksheet.DataValidations.DataValidation); i++ {
975975
dv := worksheet.DataValidations.DataValidation[i]

adjust_test.go

+19
Original file line numberDiff line numberDiff line change
@@ -1170,6 +1170,25 @@ func TestAdjustDataValidations(t *testing.T) {
11701170
assert.NoError(t, err)
11711171
assert.Equal(t, formula, dvs[0].Formula1)
11721172
})
1173+
1174+
t.Run("no_data_validations_on_first_sheet", func(t *testing.T) {
1175+
f := NewFile()
1176+
1177+
// Add Sheet2 and set a data validation
1178+
_, err = f.NewSheet("Sheet2")
1179+
assert.NoError(t, err)
1180+
dv := NewDataValidation(true)
1181+
dv.Sqref = "C5:D6"
1182+
assert.NoError(t, f.AddDataValidation("Sheet2", dv))
1183+
1184+
// Adjust Sheet2 by removing a column
1185+
assert.NoError(t, f.RemoveCol("Sheet2", "A"))
1186+
1187+
// Verify that data validations on Sheet2 are adjusted correctly
1188+
dvs, err = f.GetDataValidations("Sheet2")
1189+
assert.NoError(t, err)
1190+
assert.Equal(t, "B5:C6", dvs[0].Sqref) // Adjusted range
1191+
})
11731192
}
11741193

11751194
func TestAdjustDrawings(t *testing.T) {

0 commit comments

Comments
 (0)