datavalidation_test.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. Package excelize providing a set of functions that allow you to write to
  3. and read from XLSX files. Support reads and writes XLSX file generated by
  4. Microsoft Excel™ 2007 and later. Support save file without losing original
  5. charts of XLSX. This library needs Go version 1.8 or later.
  6. Copyright 2016 - 2018 The excelize Authors. All rights reserved. Use of
  7. this source code is governed by a BSD-style license that can be found in
  8. the LICENSE file.
  9. */
  10. package excelize
  11. import "testing"
  12. func TestDataValidation(t *testing.T) {
  13. xlsx := NewFile()
  14. dvRange := NewDataValidation(true)
  15. dvRange.Sqref = "A1:B2"
  16. dvRange.SetRange(10, 20, DataValidationTypeWhole, DataValidationOperatorBetween)
  17. dvRange.SetError(DataValidationErrorStyleStop, "error title", "error body")
  18. dvRange.SetError(DataValidationErrorStyleWarning, "error title", "error body")
  19. dvRange.SetError(DataValidationErrorStyleInformation, "error title", "error body")
  20. xlsx.AddDataValidation("Sheet1", dvRange)
  21. dvRange = NewDataValidation(true)
  22. dvRange.Sqref = "A3:B4"
  23. dvRange.SetRange(10, 20, DataValidationTypeWhole, DataValidationOperatorGreaterThan)
  24. dvRange.SetInput("input title", "input body")
  25. xlsx.AddDataValidation("Sheet1", dvRange)
  26. dvRange = NewDataValidation(true)
  27. dvRange.Sqref = "A5:B6"
  28. dvRange.SetDropList([]string{"1", "2", "3"})
  29. xlsx.AddDataValidation("Sheet1", dvRange)
  30. xlsx.SetCellStr("Sheet1", "E1", "E1")
  31. xlsx.SetCellStr("Sheet1", "E2", "E2")
  32. xlsx.SetCellStr("Sheet1", "E3", "E3")
  33. dvRange = NewDataValidation(true)
  34. dvRange.SetSqref("A7:B8")
  35. dvRange.SetSqref("A7:B8")
  36. dvRange.SetSqrefDropList("$E$1:$E$3", true)
  37. err := dvRange.SetSqrefDropList("$E$1:$E$3", false)
  38. t.Log(err)
  39. xlsx.AddDataValidation("Sheet1", dvRange)
  40. dvRange = NewDataValidation(true)
  41. dvRange.SetDropList(make([]string, 258))
  42. err = dvRange.SetRange(10, 20, DataValidationTypeWhole, DataValidationOperatorGreaterThan)
  43. t.Log(err)
  44. // Test write file to given path.
  45. err = xlsx.SaveAs("./test/Book_data_validation.xlsx")
  46. if err != nil {
  47. t.Error(err)
  48. }
  49. }