|
|
@@ -699,32 +699,35 @@ func readSheetFromFile(sc chan *indexedSheet, index int, rsheet xlsxSheet, fi *F
|
|
|
sheet.SheetFormat.DefaultRowHeight = worksheet.SheetFormatPr.DefaultRowHeight
|
|
|
sheet.SheetFormat.OutlineLevelCol = worksheet.SheetFormatPr.OutlineLevelCol
|
|
|
sheet.SheetFormat.OutlineLevelRow = worksheet.SheetFormatPr.OutlineLevelRow
|
|
|
- for _, dd := range worksheet.DataValidations.DataValidattion {
|
|
|
+ if nil != worksheet.DataValidations {
|
|
|
+ for _, dd := range worksheet.DataValidations.DataValidattion {
|
|
|
|
|
|
- parts := strings.Split(dd.Sqref, ":")
|
|
|
+ parts := strings.Split(dd.Sqref, ":")
|
|
|
|
|
|
- minCol, minRow, err := GetCoordsFromCellIDString(parts[0])
|
|
|
- if nil != err {
|
|
|
- return fmt.Errorf("data validation %s", err.Error())
|
|
|
- }
|
|
|
- dd.Sqref = ""
|
|
|
-
|
|
|
- if 2 == len(parts) {
|
|
|
- maxCol, maxRow, err := GetCoordsFromCellIDString(parts[1])
|
|
|
+ minCol, minRow, err := GetCoordsFromCellIDString(parts[0])
|
|
|
if nil != err {
|
|
|
return fmt.Errorf("data validation %s", err.Error())
|
|
|
}
|
|
|
+ dd.Sqref = ""
|
|
|
|
|
|
- if minCol == maxCol && minRow == maxRow {
|
|
|
- sheet.Cell(minRow, minCol).SetDataValidation(dd)
|
|
|
- } else {
|
|
|
- for i := minCol; i <= maxCol; i++ {
|
|
|
- sheet.Col(i).SetDataValidation(dd, minRow, maxRow)
|
|
|
+ if 2 == len(parts) {
|
|
|
+ maxCol, maxRow, err := GetCoordsFromCellIDString(parts[1])
|
|
|
+ if nil != err {
|
|
|
+ return fmt.Errorf("data validation %s", err.Error())
|
|
|
}
|
|
|
|
|
|
+ if minCol == maxCol && minRow == maxRow {
|
|
|
+ sheet.Cell(minRow, minCol).SetDataValidation(dd)
|
|
|
+ } else {
|
|
|
+ for i := minCol; i <= maxCol; i++ {
|
|
|
+ sheet.Col(i).SetDataValidation(dd, minRow, maxRow)
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ sheet.Cell(minRow, minCol).SetDataValidation(dd)
|
|
|
+
|
|
|
}
|
|
|
- } else {
|
|
|
- sheet.Cell(minRow, minCol).SetDataValidation(dd)
|
|
|
|
|
|
}
|
|
|
|