datavalidation_test.go 2.0 KB

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