Просмотр исходного кода

fix: data validation formula > 255, cell not set formula value issue #380

rentiansheng 7 лет назад
Родитель
Сommit
f1818343e1
1 измененных файлов с 5 добавлено и 6 удалено
  1. 5 6
      datavalidation.go

+ 5 - 6
datavalidation.go

@@ -95,10 +95,11 @@ func (dd *xlsxCellDataValidation) SetInput(title, msg *string) {
 
 // SetDropList data validation list
 func (dd *xlsxCellDataValidation) SetDropList(keys []string) error {
-	dd.Formula1 = "\"" + strings.Join(keys, ",") + "\""
-	/*if dataValidationFormulaStrLen < len(dd.Formula1) {
+	formula := "\"" + strings.Join(keys, ",") + "\""
+	if dataValidationFormulaStrLen < len(formula) {
 		return fmt.Errorf(dataValidationFormulaStrLenErr)
-	}*/
+	}
+	dd.Formula1 = formula
 	dd.Type = convDataValidationType(typeList)
 	return nil
 }
@@ -107,9 +108,7 @@ func (dd *xlsxCellDataValidation) SetDropList(keys []string) error {
 func (dd *xlsxCellDataValidation) SetRange(f1, f2 int, t DataValidationType, o DataValidationOperator) error {
 	formula1 := fmt.Sprintf("%d", f1)
 	formula2 := fmt.Sprintf("%d", f2)
-	if dataValidationFormulaStrLen < len(dd.Formula1) || dataValidationFormulaStrLen < len(dd.Formula2) {
-		return fmt.Errorf(dataValidationFormulaStrLenErr)
-	}
+
 	switch o {
 	case DataValidationOperatorBetween:
 		if f1 > f2 {