datavalidation_test.go 2.0 KB

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