sheetview_test.go 4.5 KB

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