surpass 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. data/History.txt +4 -0
  2. data/README.txt +3 -20
  3. data/Rakefile +2 -13
  4. data/bin/surpass +8 -0
  5. data/examples/big-16mb.rb +25 -0
  6. data/examples/big-random-strings.rb +28 -0
  7. data/examples/blanks.rb +34 -0
  8. data/examples/blanks.xls +0 -0
  9. data/examples/col_width.rb +16 -0
  10. data/examples/col_width.xls +0 -0
  11. data/examples/dates.rb +31 -0
  12. data/examples/dates.xls +0 -0
  13. data/examples/format.rb +23 -0
  14. data/examples/format.xls +0 -0
  15. data/examples/hello-world.rb +9 -0
  16. data/examples/hello-world.xls +0 -0
  17. data/examples/image.rb +10 -0
  18. data/examples/image.xls +0 -0
  19. data/examples/merged.rb +36 -0
  20. data/examples/merged.xls +0 -0
  21. data/examples/merged0.rb +27 -0
  22. data/examples/merged0.xls +0 -0
  23. data/examples/merged1.rb +99 -0
  24. data/examples/merged1.xls +0 -0
  25. data/examples/num_formats.rb +55 -0
  26. data/examples/num_formats.xls +0 -0
  27. data/examples/numbers.rb +24 -0
  28. data/examples/numbers.xls +0 -0
  29. data/examples/outline.rb +110 -0
  30. data/examples/outline.xls +0 -0
  31. data/examples/panes.rb +48 -0
  32. data/examples/panes.xls +0 -0
  33. data/examples/protection.rb +132 -0
  34. data/examples/protection.xls +0 -0
  35. data/examples/python.bmp +0 -0
  36. data/examples/row_styles.rb +16 -0
  37. data/examples/row_styles.xls +0 -0
  38. data/examples/row_styles_empty.rb +15 -0
  39. data/examples/row_styles_empty.xls +0 -0
  40. data/examples/set_cell_and_range_style.rb +12 -0
  41. data/examples/set_cell_and_range_style.xls +0 -0
  42. data/examples/wrapped-text.rb +13 -0
  43. data/examples/wrapped-text.xls +0 -0
  44. data/examples/write_arrays.rb +22 -0
  45. data/examples/write_arrays.xls +0 -0
  46. data/examples/ws_props.rb +80 -0
  47. data/lib/surpass/ExcelFormula.g +366 -0
  48. data/lib/surpass/ExcelFormula.tokens +30 -0
  49. data/lib/surpass/ExcelFormulaLexer.rb +922 -0
  50. data/lib/surpass/ExcelFormulaParser.rb +602 -0
  51. data/lib/{biff_record.rb → surpass/biff_record.rb} +0 -0
  52. data/lib/{bitmap.rb → surpass/bitmap.rb} +0 -0
  53. data/lib/{cell.rb → surpass/cell.rb} +2 -34
  54. data/lib/{chart.rb → surpass/chart.rb} +0 -0
  55. data/lib/{column.rb → surpass/column.rb} +0 -0
  56. data/lib/{document.rb → surpass/document.rb} +0 -0
  57. data/lib/surpass/excel_formula.rb +23 -0
  58. data/lib/{excel_magic.rb → surpass/excel_magic.rb} +0 -0
  59. data/lib/{formatting.rb → surpass/formatting.rb} +93 -53
  60. data/lib/{row.rb → surpass/row.rb} +0 -0
  61. data/lib/{style.rb → surpass/style.rb} +2 -1
  62. data/lib/surpass/tokens.txt +2 -0
  63. data/lib/{utilities.rb → surpass/utilities.rb} +0 -0
  64. data/lib/{workbook.rb → surpass/workbook.rb} +0 -0
  65. data/lib/{worksheet.rb → surpass/worksheet.rb} +15 -6
  66. data/lib/surpass.rb +1 -1
  67. data/spec/biff_record_spec.rb +268 -0
  68. data/spec/cell_spec.rb +56 -0
  69. data/spec/data/random-strings.txt +10000 -0
  70. data/spec/document_spec.rb +168 -0
  71. data/spec/excel_formula_spec.rb +27 -0
  72. data/spec/formatting_spec.rb +53 -0
  73. data/spec/output/cells-rk.xls +0 -0
  74. data/spec/output/cells.xls +0 -0
  75. data/spec/output/mini.xls +0 -0
  76. data/spec/reference/P-0508-0000507647-3280-5298.xls +0 -0
  77. data/spec/reference/all-cell-styles.bin +0 -0
  78. data/spec/reference/all-number-formats.bin +0 -0
  79. data/spec/reference/all-styles.bin +0 -0
  80. data/spec/reference/mini.xls +0 -0
  81. data/spec/row_spec.rb +19 -0
  82. data/spec/spec_helper.rb +10 -0
  83. data/spec/style_spec.rb +89 -0
  84. data/spec/surpass_spec.rb +7 -0
  85. data/spec/utilities_spec.rb +57 -0
  86. data/spec/workbook_spec.rb +48 -0
  87. data/spec/worksheet_spec.rb +0 -0
  88. data/stats/cloc.txt +8 -0
  89. data/stats/rcov.txt +0 -0
  90. data/stats/specdoc.txt +158 -0
  91. data/surpass.gemspec +40 -0
  92. data/tasks/setup.rb +1 -1
  93. data/tasks/zentest.rake +36 -0
  94. data/webby/README.txt +6 -0
  95. data/webby/Sitefile +43 -0
  96. data/webby/content/css/pygments.txt +6 -0
  97. data/webby/content/css/style.css +279 -0
  98. data/webby/content/examples/autoformat.png +0 -0
  99. data/webby/content/examples/autoformat.rb +32 -0
  100. data/webby/content/examples/autoformat.xls +0 -0
  101. data/webby/content/examples/borders.png +0 -0
  102. data/webby/content/examples/borders.rb +15 -0
  103. data/webby/content/examples/borders.xls +0 -0
  104. data/webby/content/examples/colours.png +0 -0
  105. data/webby/content/examples/colours.rb +23 -0
  106. data/webby/content/examples/colours.xls +0 -0
  107. data/webby/content/examples/data.png +0 -0
  108. data/webby/content/examples/data.rb +11 -0
  109. data/webby/content/examples/data.xls +0 -0
  110. data/webby/content/examples/formatting.png +0 -0
  111. data/webby/content/examples/formatting.rb +78 -0
  112. data/webby/content/examples/formatting.xls +0 -0
  113. data/webby/content/examples/hello-world.png +0 -0
  114. data/webby/content/examples/hello-world.py +8 -0
  115. data/webby/content/examples/hello-world.rb +9 -0
  116. data/webby/content/examples/hello-world.xls +0 -0
  117. data/webby/content/examples/number-format-string.png +0 -0
  118. data/webby/content/examples/number-format-string.rb +14 -0
  119. data/webby/content/examples/number-format-string.xls +0 -0
  120. data/webby/content/examples/patterns.png +0 -0
  121. data/webby/content/examples/patterns.rb +26 -0
  122. data/webby/content/examples/patterns.xls +0 -0
  123. data/webby/content/examples/show-greens.sh +1 -0
  124. data/webby/content/examples/surpass-info.sh +1 -0
  125. data/webby/content/img/Thumbs.db +0 -0
  126. data/webby/content/img/bg_menu.gif +0 -0
  127. data/webby/content/img/bg_t.gif +0 -0
  128. data/webby/content/img/bullet.gif +0 -0
  129. data/webby/content/img/logo.png +0 -0
  130. data/webby/content/img/logo_.jpg +0 -0
  131. data/webby/content/img/top_bg.gif +0 -0
  132. data/webby/content/img/top_bg_.gif +0 -0
  133. data/webby/content/index.txt +16 -0
  134. data/webby/content/installation/index.txt +24 -0
  135. data/webby/content/source/ExcelFormulaLexer.txt +7 -0
  136. data/webby/content/source/ExcelFormulaParser.txt +7 -0
  137. data/webby/content/source/biff_record.txt +7 -0
  138. data/webby/content/source/bitmap.txt +7 -0
  139. data/webby/content/source/cell.txt +7 -0
  140. data/webby/content/source/chart.txt +7 -0
  141. data/webby/content/source/column.txt +7 -0
  142. data/webby/content/source/document.txt +7 -0
  143. data/webby/content/source/excel_formula.txt +7 -0
  144. data/webby/content/source/excel_magic.txt +7 -0
  145. data/webby/content/source/formatting.txt +7 -0
  146. data/webby/content/source/row.txt +7 -0
  147. data/webby/content/source/style.txt +7 -0
  148. data/webby/content/source/utilities.txt +7 -0
  149. data/webby/content/source/workbook.txt +7 -0
  150. data/webby/content/source/worksheet.txt +7 -0
  151. data/webby/content/surpass-manual.erb +198 -0
  152. data/webby/layouts/book.txt +29 -0
  153. data/webby/layouts/default.txt +27 -0
  154. data/webby/layouts/two_column.txt +25 -0
  155. data/webby/layouts/web.txt +66 -0
  156. data/webby/output/.cairn +0 -0
  157. data/webby/output/css/blueprint/ie.css +26 -0
  158. data/webby/output/css/blueprint/plugins/buttons/icons/cross.png +0 -0
  159. data/webby/output/css/blueprint/plugins/buttons/icons/key.png +0 -0
  160. data/webby/output/css/blueprint/plugins/buttons/icons/tick.png +0 -0
  161. data/webby/output/css/blueprint/plugins/buttons/readme.txt +32 -0
  162. data/webby/output/css/blueprint/plugins/buttons/screen.css +97 -0
  163. data/webby/output/css/blueprint/plugins/fancy-type/readme.txt +14 -0
  164. data/webby/output/css/blueprint/plugins/fancy-type/screen.css +71 -0
  165. data/webby/output/css/blueprint/plugins/link-icons/icons/doc.png +0 -0
  166. data/webby/output/css/blueprint/plugins/link-icons/icons/email.png +0 -0
  167. data/webby/output/css/blueprint/plugins/link-icons/icons/external.png +0 -0
  168. data/webby/output/css/blueprint/plugins/link-icons/icons/feed.png +0 -0
  169. data/webby/output/css/blueprint/plugins/link-icons/icons/im.png +0 -0
  170. data/webby/output/css/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  171. data/webby/output/css/blueprint/plugins/link-icons/icons/visited.png +0 -0
  172. data/webby/output/css/blueprint/plugins/link-icons/icons/xls.png +0 -0
  173. data/webby/output/css/blueprint/plugins/link-icons/readme.txt +18 -0
  174. data/webby/output/css/blueprint/plugins/link-icons/screen.css +40 -0
  175. data/webby/output/css/blueprint/plugins/rtl/readme.txt +10 -0
  176. data/webby/output/css/blueprint/plugins/rtl/screen.css +109 -0
  177. data/webby/output/css/blueprint/print.css +30 -0
  178. data/webby/output/css/blueprint/screen.css +251 -0
  179. data/webby/output/css/blueprint/src/forms.css +49 -0
  180. data/webby/output/css/blueprint/src/grid.css +212 -0
  181. data/webby/output/css/blueprint/src/grid.png +0 -0
  182. data/webby/output/css/blueprint/src/ie.css +59 -0
  183. data/webby/output/css/blueprint/src/print.css +85 -0
  184. data/webby/output/css/blueprint/src/reset.css +38 -0
  185. data/webby/output/css/blueprint/src/typography.css +105 -0
  186. data/webby/output/css/pygments.css +59 -0
  187. data/webby/output/css/site.css +62 -0
  188. data/webby/output/css/style.css +279 -0
  189. data/webby/output/examples/autoformat.png +0 -0
  190. data/webby/output/examples/autoformat.rb +32 -0
  191. data/webby/output/examples/autoformat.xls +0 -0
  192. data/webby/output/examples/borders.png +0 -0
  193. data/webby/output/examples/borders.rb +15 -0
  194. data/webby/output/examples/borders.xls +0 -0
  195. data/webby/output/examples/colours.png +0 -0
  196. data/webby/output/examples/colours.rb +23 -0
  197. data/webby/output/examples/colours.xls +0 -0
  198. data/webby/output/examples/data.png +0 -0
  199. data/webby/output/examples/data.rb +11 -0
  200. data/webby/output/examples/data.xls +0 -0
  201. data/webby/output/examples/formatting.png +0 -0
  202. data/webby/output/examples/formatting.rb +78 -0
  203. data/webby/output/examples/formatting.xls +0 -0
  204. data/webby/output/examples/hello-world.png +0 -0
  205. data/webby/output/examples/hello-world.py +8 -0
  206. data/webby/output/examples/hello-world.rb +9 -0
  207. data/webby/output/examples/hello-world.xls +0 -0
  208. data/webby/output/examples/number-format-string.png +0 -0
  209. data/webby/output/examples/number-format-string.rb +14 -0
  210. data/webby/output/examples/number-format-string.xls +0 -0
  211. data/webby/output/examples/patterns.png +0 -0
  212. data/webby/output/examples/patterns.rb +26 -0
  213. data/webby/output/examples/patterns.xls +0 -0
  214. data/webby/output/examples/show-greens.sh +1 -0
  215. data/webby/output/examples/surpass-info.sh +1 -0
  216. data/webby/output/img/Thumbs.db +0 -0
  217. data/webby/output/img/bg_menu.gif +0 -0
  218. data/webby/output/img/bg_t.gif +0 -0
  219. data/webby/output/img/bullet.gif +0 -0
  220. data/webby/output/img/logo.png +0 -0
  221. data/webby/output/img/logo_.jpg +0 -0
  222. data/webby/output/img/top_bg.gif +0 -0
  223. data/webby/output/img/top_bg_.gif +0 -0
  224. data/webby/output/index.html +138 -0
  225. data/webby/output/installation/index.html +64 -0
  226. data/webby/output/installation/installation.html +1 -0
  227. data/webby/output/installation.html +1 -0
  228. data/webby/output/source/ExcelFormulaLexer.html +981 -0
  229. data/webby/output/source/ExcelFormulaParser.html +661 -0
  230. data/webby/output/source/biff_record.html +462 -0
  231. data/webby/output/source/bitmap.html +277 -0
  232. data/webby/output/source/cell.html +241 -0
  233. data/webby/output/source/chart.html +64 -0
  234. data/webby/output/source/column.html +99 -0
  235. data/webby/output/source/document.html +465 -0
  236. data/webby/output/source/excel_formula.html +82 -0
  237. data/webby/output/source/excel_magic.html +1072 -0
  238. data/webby/output/source/formatting.html +664 -0
  239. data/webby/output/source/row.html +169 -0
  240. data/webby/output/source/style.html +158 -0
  241. data/webby/output/source/surpass.html +110 -0
  242. data/webby/output/source/utilities.html +145 -0
  243. data/webby/output/source/workbook.html +265 -0
  244. data/webby/output/source/worksheet.html +331 -0
  245. data/webby/output/surpass-manual-0-0-5.pdf +0 -0
  246. data/webby/output/surpass-manual.aux +50 -0
  247. data/webby/output/surpass-manual.log +366 -0
  248. data/webby/output/surpass-manual.out +20 -0
  249. data/webby/output/surpass-manual.tex +582 -0
  250. data/webby/output/surpass-manual.toc +20 -0
  251. data/webby/rsync-exclude +7 -0
  252. data/webby/tasks/latex.rake +14 -0
  253. data/webby/tasks/screenshots.rb +58 -0
  254. data/webby/templates/article.erb +15 -0
  255. data/webby/templates/book.erb +16 -0
  256. data/webby/templates/page.erb +9 -0
  257. metadata +302 -24
  258. data/bin/surpass-info +0 -20
  259. data/lib/excel_formula.rb +0 -6
data/examples/panes.rb ADDED
@@ -0,0 +1,48 @@
1
+ require "rubygems"
2
+ require "surpass"
3
+
4
+ # TODO this is broken in both Ruby and Python
5
+
6
+ book = Workbook.new
7
+ ws1 = book.add_sheet
8
+ ws2 = book.add_sheet
9
+ ws3 = book.add_sheet
10
+ ws4 = book.add_sheet
11
+ ws5 = book.add_sheet
12
+ ws6 = book.add_sheet
13
+
14
+ 0.upto(0x100) do |i|
15
+ ws1.write(i/0x10, i%0x10, i)
16
+ ws2.write(i/0x10, i%0x10, i)
17
+ ws3.write(i/0x10, i%0x10, i)
18
+ ws4.write(i/0x10, i%0x10, i)
19
+ ws5.write(i/0x10, i%0x10, i)
20
+ ws6.write(i/0x10, i%0x10, i)
21
+ end
22
+
23
+ ws1.panes_frozen = true
24
+ ws1.horz_split_pos = 2
25
+
26
+ ws2.panes_frozen = true
27
+ ws2.vert_split_pos = 2
28
+
29
+ ws3.panes_frozen = true
30
+ ws3.horz_split_pos = 1
31
+ ws3.vert_split_pos = 1
32
+
33
+ ws4.panes_frozen = false
34
+ ws4.horz_split_pos = 12
35
+ ws4.horz_split_first_visible = 2
36
+
37
+ ws5.panes_frozen = false
38
+ ws5.vert_split_pos = 40
39
+ ws4.vert_split_first_visible = 2
40
+
41
+ ws6.panes_frozen = false
42
+ ws6.horz_split_pos = 12
43
+ ws4.horz_split_first_visible = 2
44
+ ws6.vert_split_pos = 40
45
+ ws4.vert_split_first_visible = 2
46
+
47
+ book.save(__FILE__.gsub(/rb$/, "xls"))
48
+
Binary file
@@ -0,0 +1,132 @@
1
+ require "rubygems"
2
+ require "surpass"
3
+
4
+ fnt = Font.new
5
+ fnt.name = 'Arial'
6
+ fnt.colour_index = 4
7
+ fnt.bold = true
8
+
9
+ borders = Borders.new
10
+ borders.left = 6
11
+ borders.right = 6
12
+ borders.top = 6
13
+ borders.bottom = 6
14
+
15
+ style = StyleFormat.new
16
+ style.font = fnt
17
+ style.borders = borders
18
+
19
+ book = Workbook.new
20
+
21
+ ws0 = book.add_sheet('Rows Outline')
22
+
23
+ ws0.write_merge(1, 1, 1, 5, 'test 1', style)
24
+ ws0.write_merge(2, 2, 1, 4, 'test 1', style)
25
+ ws0.write_merge(3, 3, 1, 3, 'test 2', style)
26
+ ws0.write_merge(4, 4, 1, 4, 'test 1', style)
27
+ ws0.write_merge(5, 5, 1, 4, 'test 3', style)
28
+ ws0.write_merge(6, 6, 1, 5, 'test 1', style)
29
+ ws0.write_merge(7, 7, 1, 5, 'test 4', style)
30
+ ws0.write_merge(8, 8, 1, 4, 'test 1', style)
31
+ ws0.write_merge(9, 9, 1, 3, 'test 5', style)
32
+
33
+ ws0.row(1).level = 1
34
+ ws0.row(2).level = 1
35
+ ws0.row(3).level = 2
36
+ ws0.row(4).level = 2
37
+ ws0.row(5).level = 2
38
+ ws0.row(6).level = 2
39
+ ws0.row(7).level = 2
40
+ ws0.row(8).level = 1
41
+ ws0.row(9).level = 1
42
+
43
+
44
+ ws1 = book.add_sheet('Columns Outline')
45
+
46
+ ws1.write_merge(1, 1, 1, 5, 'test 1', style)
47
+ ws1.write_merge(2, 2, 1, 4, 'test 1', style)
48
+ ws1.write_merge(3, 3, 1, 3, 'test 2', style)
49
+ ws1.write_merge(4, 4, 1, 4, 'test 1', style)
50
+ ws1.write_merge(5, 5, 1, 4, 'test 3', style)
51
+ ws1.write_merge(6, 6, 1, 5, 'test 1', style)
52
+ ws1.write_merge(7, 7, 1, 5, 'test 4', style)
53
+ ws1.write_merge(8, 8, 1, 4, 'test 1', style)
54
+ ws1.write_merge(9, 9, 1, 3, 'test 5', style)
55
+
56
+ ws1.col(1).level = 1
57
+ ws1.col(2).level = 1
58
+ ws1.col(3).level = 2
59
+ ws1.col(4).level = 2
60
+ ws1.col(5).level = 2
61
+ ws1.col(6).level = 2
62
+ ws1.col(7).level = 2
63
+ ws1.col(8).level = 1
64
+ ws1.col(9).level = 1
65
+
66
+
67
+ ws2 = book.add_sheet('Rows and Columns Outline')
68
+
69
+ ws2.write_merge(1, 1, 1, 5, 'test 1', style)
70
+ ws2.write_merge(2, 2, 1, 4, 'test 1', style)
71
+ ws2.write_merge(3, 3, 1, 3, 'test 2', style)
72
+ ws2.write_merge(4, 4, 1, 4, 'test 1', style)
73
+ ws2.write_merge(5, 5, 1, 4, 'test 3', style)
74
+ ws2.write_merge(6, 6, 1, 5, 'test 1', style)
75
+ ws2.write_merge(7, 7, 1, 5, 'test 4', style)
76
+ ws2.write_merge(8, 8, 1, 4, 'test 1', style)
77
+ ws2.write_merge(9, 9, 1, 3, 'test 5', style)
78
+
79
+ ws2.row(1).level = 1
80
+ ws2.row(2).level = 1
81
+ ws2.row(3).level = 2
82
+ ws2.row(4).level = 2
83
+ ws2.row(5).level = 2
84
+ ws2.row(6).level = 2
85
+ ws2.row(7).level = 2
86
+ ws2.row(8).level = 1
87
+ ws2.row(9).level = 1
88
+
89
+ ws2.write_merge(1, 1, 1, 5, 'test 1', style)
90
+ ws2.write_merge(2, 2, 1, 4, 'test 1', style)
91
+ ws2.write_merge(3, 3, 1, 3, 'test 2', style)
92
+ ws2.write_merge(4, 4, 1, 4, 'test 1', style)
93
+ ws2.write_merge(5, 5, 1, 4, 'test 3', style)
94
+ ws2.write_merge(6, 6, 1, 5, 'test 1', style)
95
+ ws2.write_merge(7, 7, 1, 5, 'test 4', style)
96
+ ws2.write_merge(8, 8, 1, 4, 'test 1', style)
97
+ ws2.write_merge(9, 9, 1, 3, 'test 5', style)
98
+
99
+ ws2.col(1).level = 1
100
+ ws2.col(2).level = 1
101
+ ws2.col(3).level = 2
102
+ ws2.col(4).level = 2
103
+ ws2.col(5).level = 2
104
+ ws2.col(6).level = 2
105
+ ws2.col(7).level = 2
106
+ ws2.col(8).level = 1
107
+ ws2.col(9).level = 1
108
+
109
+
110
+ ws0.protect = true
111
+ ws0.wnd_protect = true
112
+ ws0.obj_protect = true
113
+ ws0.scen_protect = true
114
+ ws0.password = "123456"
115
+
116
+ ws1.protect = true
117
+ ws1.wnd_protect = true
118
+ ws1.obj_protect = true
119
+ ws1.scen_protect = true
120
+ ws1.password = "abcdefghij"
121
+
122
+ ws2.protect = true
123
+ ws2.wnd_protect = true
124
+ ws2.obj_protect = true
125
+ ws2.scen_protect = true
126
+ ws2.password = "ok"
127
+
128
+ book.protect = true
129
+ book.wnd_protect = true
130
+ book.obj_protect = true
131
+
132
+ book.save(__FILE__.gsub(/rb$/, "xls"))
Binary file
Binary file
@@ -0,0 +1,16 @@
1
+ require "rubygems"
2
+ require "surpass"
3
+
4
+ book = Workbook.new
5
+ ws = book.add_sheet
6
+
7
+ (6..80).each do |i|
8
+ fnt = Font.new
9
+ fnt.height = i*20
10
+ style = StyleFormat.new
11
+ style.font = fnt
12
+ ws.write(i, 1, 'Test')
13
+ ws.row(i).style = style
14
+ end
15
+
16
+ book.save(__FILE__.gsub(/rb$/, "xls"))
Binary file
@@ -0,0 +1,15 @@
1
+ require "rubygems"
2
+ require "surpass"
3
+
4
+ book = Workbook.new
5
+ ws = book.add_sheet
6
+
7
+ (6..80).each do |i|
8
+ fnt = Font.new
9
+ fnt.height = i*20
10
+ style = StyleFormat.new
11
+ style.font = fnt
12
+ ws.row(i).style = style
13
+ end
14
+
15
+ book.save(__FILE__.gsub(/rb$/, "xls"))
Binary file
@@ -0,0 +1,12 @@
1
+ require "rubygems"
2
+ require "surpass"
3
+
4
+ book = Workbook.new
5
+ s = book.add_sheet
6
+
7
+ s.write_arrays(0, 0, [%w{a b c d e}, %w{F G H I J}, %w{k l m n o}])
8
+
9
+ s.set_cell_style(2, 2, StyleFormat.new(:font_color => "yellow"))
10
+ s.set_range_style(0..1, 1..2, StyleFormat.new(:font_color => "purple"))
11
+
12
+ book.save(__FILE__.gsub(/rb$/, "xls"))
@@ -0,0 +1,13 @@
1
+ require "rubygems"
2
+ require "surpass"
3
+
4
+ text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
5
+
6
+ wrapped_text_format = StyleFormat.new(:text_wrap => true, :text_align => 'justify')
7
+
8
+ book = Workbook.new
9
+ sheet = book.add_sheet('Wrapped Text')
10
+ sheet.set_column_width(0, 40)
11
+ sheet.write(0, 0, text, wrapped_text_format)
12
+
13
+ book.save(__FILE__.gsub(/rb$/, "xls"))
Binary file
@@ -0,0 +1,22 @@
1
+ require "rubygems"
2
+ require "surpass"
3
+
4
+ font0 = Font.new
5
+ font0.name = 'Times New Roman'
6
+
7
+ style0 = StyleFormat.new
8
+ style0.font = font0
9
+
10
+
11
+ book = Workbook.new
12
+ s = book.add_sheet
13
+
14
+ s.write_array_to_column(methods.sort, 0, 0, style0)
15
+
16
+ s.write(5, 5, methods.sort)
17
+
18
+ s.write(7, 3, %w{a b c d e})
19
+
20
+ s.write(9, 3, [%w{x y z}, [1, 2, 3]])
21
+
22
+ book.save(__FILE__.gsub(/rb$/, "xls"))
Binary file
@@ -0,0 +1,80 @@
1
+ require "rubygems"
2
+ require "surpass"
3
+
4
+ props = \
5
+ [
6
+ 'name',
7
+ 'parent',
8
+ 'rows',
9
+ 'cols',
10
+ 'merged_ranges',
11
+ 'bmp_rec',
12
+ 'show_formulas',
13
+ 'show_grid',
14
+ 'show_headers',
15
+ 'panes_frozen',
16
+ 'show_empty_as_zero',
17
+ 'auto_colour_grid',
18
+ 'cols_right_to_left',
19
+ 'show_outline',
20
+ 'remove_splits',
21
+ 'selected',
22
+ 'page_preview',
23
+ 'first_visible_row',
24
+ 'first_visible_col',
25
+ 'grid_colour',
26
+ 'preview_magn',
27
+ 'normal_magn',
28
+ 'show_auto_page_breaks',
29
+ 'dialogue_sheet',
30
+ 'auto_style_outline',
31
+ 'outline_below',
32
+ 'outline_right',
33
+ 'fit_num_pages',
34
+ 'show_row_outline',
35
+ 'show_col_outline',
36
+ 'alt_expr_eval',
37
+ 'alt_formula_entries',
38
+ 'row_default_height',
39
+ 'col_default_width',
40
+ 'calc_mode',
41
+ 'calc_count',
42
+ 'save_recalc',
43
+ 'print_headers',
44
+ 'print_grid',
45
+ 'grid_set',
46
+ 'vert_page_breaks',
47
+ 'horz_page_breaks',
48
+ 'header_str',
49
+ 'footer_str',
50
+ 'print_centered_vert',
51
+ 'print_centered_horz',
52
+ 'left_margin',
53
+ 'right_margin',
54
+ 'top_margin',
55
+ 'bottom_margin',
56
+ 'paper_size_code',
57
+ 'print_scaling',
58
+ 'start_page_number',
59
+ 'fit_width_to_pages',
60
+ 'fit_height_to_pages',
61
+ 'print_in_rows',
62
+ 'portrait',
63
+ 'print_not_colour',
64
+ 'print_draft',
65
+ 'print_notes',
66
+ 'print_notes_at_end',
67
+ 'print_omit_errors',
68
+ 'print_hres',
69
+ 'print_vres',
70
+ 'header_margin',
71
+ 'footer_margin',
72
+ 'copies_num',
73
+ ]
74
+
75
+ book = Workbook.new
76
+ sheet = book.add_sheet('sheet')
77
+
78
+ props.each do |p|
79
+ puts "#{p} #{sheet.send(p.to_sym)}"
80
+ end