protection.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. # Copyright (C) 2005 Kiseliov Roman
  2. from xlwt import *
  3. fnt = Font()
  4. fnt.name = 'Arial'
  5. fnt.colour_index = 4
  6. fnt.bold = True
  7. borders = Borders()
  8. borders.left = 6
  9. borders.right = 6
  10. borders.top = 6
  11. borders.bottom = 6
  12. style = XFStyle()
  13. style.font = fnt
  14. style.borders = borders
  15. wb = Workbook()
  16. ws0 = wb.add_sheet('Rows Outline')
  17. ws0.write_merge(1, 1, 1, 5, 'test 1', style)
  18. ws0.write_merge(2, 2, 1, 4, 'test 1', style)
  19. ws0.write_merge(3, 3, 1, 3, 'test 2', style)
  20. ws0.write_merge(4, 4, 1, 4, 'test 1', style)
  21. ws0.write_merge(5, 5, 1, 4, 'test 3', style)
  22. ws0.write_merge(6, 6, 1, 5, 'test 1', style)
  23. ws0.write_merge(7, 7, 1, 5, 'test 4', style)
  24. ws0.write_merge(8, 8, 1, 4, 'test 1', style)
  25. ws0.write_merge(9, 9, 1, 3, 'test 5', style)
  26. ws0.row(1).level = 1
  27. ws0.row(2).level = 1
  28. ws0.row(3).level = 2
  29. ws0.row(4).level = 2
  30. ws0.row(5).level = 2
  31. ws0.row(6).level = 2
  32. ws0.row(7).level = 2
  33. ws0.row(8).level = 1
  34. ws0.row(9).level = 1
  35. ws1 = wb.add_sheet('Columns Outline')
  36. ws1.write_merge(1, 1, 1, 5, 'test 1', style)
  37. ws1.write_merge(2, 2, 1, 4, 'test 1', style)
  38. ws1.write_merge(3, 3, 1, 3, 'test 2', style)
  39. ws1.write_merge(4, 4, 1, 4, 'test 1', style)
  40. ws1.write_merge(5, 5, 1, 4, 'test 3', style)
  41. ws1.write_merge(6, 6, 1, 5, 'test 1', style)
  42. ws1.write_merge(7, 7, 1, 5, 'test 4', style)
  43. ws1.write_merge(8, 8, 1, 4, 'test 1', style)
  44. ws1.write_merge(9, 9, 1, 3, 'test 5', style)
  45. ws1.col(1).level = 1
  46. ws1.col(2).level = 1
  47. ws1.col(3).level = 2
  48. ws1.col(4).level = 2
  49. ws1.col(5).level = 2
  50. ws1.col(6).level = 2
  51. ws1.col(7).level = 2
  52. ws1.col(8).level = 1
  53. ws1.col(9).level = 1
  54. ws2 = wb.add_sheet('Rows and Columns Outline')
  55. ws2.write_merge(1, 1, 1, 5, 'test 1', style)
  56. ws2.write_merge(2, 2, 1, 4, 'test 1', style)
  57. ws2.write_merge(3, 3, 1, 3, 'test 2', style)
  58. ws2.write_merge(4, 4, 1, 4, 'test 1', style)
  59. ws2.write_merge(5, 5, 1, 4, 'test 3', style)
  60. ws2.write_merge(6, 6, 1, 5, 'test 1', style)
  61. ws2.write_merge(7, 7, 1, 5, 'test 4', style)
  62. ws2.write_merge(8, 8, 1, 4, 'test 1', style)
  63. ws2.write_merge(9, 9, 1, 3, 'test 5', style)
  64. ws2.row(1).level = 1
  65. ws2.row(2).level = 1
  66. ws2.row(3).level = 2
  67. ws2.row(4).level = 2
  68. ws2.row(5).level = 2
  69. ws2.row(6).level = 2
  70. ws2.row(7).level = 2
  71. ws2.row(8).level = 1
  72. ws2.row(9).level = 1
  73. ws2.col(1).level = 1
  74. ws2.col(2).level = 1
  75. ws2.col(3).level = 2
  76. ws2.col(4).level = 2
  77. ws2.col(5).level = 2
  78. ws2.col(6).level = 2
  79. ws2.col(7).level = 2
  80. ws2.col(8).level = 1
  81. ws2.col(9).level = 1
  82. ws0.protect = True
  83. ws0.wnd_protect = True
  84. ws0.obj_protect = True
  85. ws0.scen_protect = True
  86. ws0.password = "123456"
  87. ws1.protect = True
  88. ws1.wnd_protect = True
  89. ws1.obj_protect = True
  90. ws1.scen_protect = True
  91. ws1.password = "abcdefghij"
  92. ws2.protect = True
  93. ws2.wnd_protect = True
  94. ws2.obj_protect = True
  95. ws2.scen_protect = True
  96. ws2.password = "ok"
  97. wb.protect = True
  98. wb.wnd_protect = True
  99. wb.obj_protect = True
  100. wb.save('protection.xls')