sheetview_test.go 4.2 KB

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