sheetview_test.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. package excelize_test
  2. import (
  3. "fmt"
  4. "testing"
  5. "github.com/360EntSecGroup-Skylar/excelize"
  6. )
  7. var _ = []excelize.SheetViewOption{
  8. excelize.DefaultGridColor(true),
  9. excelize.RightToLeft(false),
  10. excelize.ShowFormulas(false),
  11. excelize.ShowGridLines(true),
  12. excelize.ShowRowColHeaders(true),
  13. // SheetViewOptionPtr are also SheetViewOption
  14. new(excelize.DefaultGridColor),
  15. new(excelize.RightToLeft),
  16. new(excelize.ShowFormulas),
  17. new(excelize.ShowGridLines),
  18. new(excelize.ShowRowColHeaders),
  19. }
  20. var _ = []excelize.SheetViewOptionPtr{
  21. (*excelize.DefaultGridColor)(nil),
  22. (*excelize.RightToLeft)(nil),
  23. (*excelize.ShowFormulas)(nil),
  24. (*excelize.ShowGridLines)(nil),
  25. (*excelize.ShowRowColHeaders)(nil),
  26. }
  27. func ExampleFile_SetSheetViewOptions() {
  28. xl := excelize.NewFile()
  29. const sheet = "Sheet1"
  30. if err := xl.SetSheetViewOptions(sheet, 0,
  31. excelize.DefaultGridColor(false),
  32. excelize.RightToLeft(false),
  33. excelize.ShowFormulas(true),
  34. excelize.ShowGridLines(true),
  35. excelize.ShowRowColHeaders(true),
  36. excelize.ZoomScale(80),
  37. ); err != nil {
  38. panic(err)
  39. }
  40. var zoomScale excelize.ZoomScale
  41. fmt.Println("Default:")
  42. fmt.Println("- zoomScale: 80")
  43. if err := xl.SetSheetViewOptions(sheet, 0, excelize.ZoomScale(500)); err != nil {
  44. panic(err)
  45. }
  46. if err := xl.GetSheetViewOptions(sheet, 0, &zoomScale); err != nil {
  47. panic(err)
  48. }
  49. fmt.Println("Used out of range value:")
  50. fmt.Println("- zoomScale:", zoomScale)
  51. if err := xl.SetSheetViewOptions(sheet, 0, excelize.ZoomScale(123)); err != nil {
  52. panic(err)
  53. }
  54. if err := xl.GetSheetViewOptions(sheet, 0, &zoomScale); err != nil {
  55. panic(err)
  56. }
  57. fmt.Println("Used correct value:")
  58. fmt.Println("- zoomScale:", zoomScale)
  59. // Output:
  60. // Default:
  61. // - zoomScale: 80
  62. // Used out of range value:
  63. // - zoomScale: 80
  64. // Used correct value:
  65. // - zoomScale: 123
  66. }
  67. func ExampleFile_GetSheetViewOptions() {
  68. xl := excelize.NewFile()
  69. const sheet = "Sheet1"
  70. var (
  71. defaultGridColor excelize.DefaultGridColor
  72. rightToLeft excelize.RightToLeft
  73. showFormulas excelize.ShowFormulas
  74. showGridLines excelize.ShowGridLines
  75. showRowColHeaders excelize.ShowRowColHeaders
  76. zoomScale excelize.ZoomScale
  77. )
  78. if err := xl.GetSheetViewOptions(sheet, 0,
  79. &defaultGridColor,
  80. &rightToLeft,
  81. &showFormulas,
  82. &showGridLines,
  83. &showRowColHeaders,
  84. &zoomScale,
  85. ); err != nil {
  86. panic(err)
  87. }
  88. fmt.Println("Default:")
  89. fmt.Println("- defaultGridColor:", defaultGridColor)
  90. fmt.Println("- rightToLeft:", rightToLeft)
  91. fmt.Println("- showFormulas:", showFormulas)
  92. fmt.Println("- showGridLines:", showGridLines)
  93. fmt.Println("- showRowColHeaders:", showRowColHeaders)
  94. fmt.Println("- zoomScale:", zoomScale)
  95. if err := xl.SetSheetViewOptions(sheet, 0, excelize.ShowGridLines(false)); err != nil {
  96. panic(err)
  97. }
  98. if err := xl.GetSheetViewOptions(sheet, 0, &showGridLines); err != nil {
  99. panic(err)
  100. }
  101. fmt.Println("After change:")
  102. fmt.Println("- showGridLines:", showGridLines)
  103. // Output:
  104. // Default:
  105. // - defaultGridColor: true
  106. // - rightToLeft: false
  107. // - showFormulas: false
  108. // - showGridLines: true
  109. // - showRowColHeaders: true
  110. // - zoomScale: 0
  111. // After change:
  112. // - showGridLines: false
  113. }
  114. func TestSheetViewOptionsErrors(t *testing.T) {
  115. xl := excelize.NewFile()
  116. const sheet = "Sheet1"
  117. if err := xl.GetSheetViewOptions(sheet, 0); err != nil {
  118. t.Errorf("Unexpected error: %s", err)
  119. }
  120. if err := xl.GetSheetViewOptions(sheet, -1); err != nil {
  121. t.Errorf("Unexpected error: %s", err)
  122. }
  123. if err := xl.GetSheetViewOptions(sheet, 1); err == nil {
  124. t.Error("Error expected but got nil")
  125. }
  126. if err := xl.GetSheetViewOptions(sheet, -2); err == nil {
  127. t.Error("Error expected but got nil")
  128. }
  129. if err := xl.SetSheetViewOptions(sheet, 0); err != nil {
  130. t.Errorf("Unexpected error: %s", err)
  131. }
  132. if err := xl.SetSheetViewOptions(sheet, -1); err != nil {
  133. t.Errorf("Unexpected error: %s", err)
  134. }
  135. if err := xl.SetSheetViewOptions(sheet, 1); err == nil {
  136. t.Error("Error expected but got nil")
  137. }
  138. if err := xl.SetSheetViewOptions(sheet, -2); err == nil {
  139. t.Error("Error expected but got nil")
  140. }
  141. }