surpass 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. data/lib/surpass/worksheet.rb +1 -1
  2. data/lib/surpass.rb +1 -1
  3. data/out.bin +0 -0
  4. metadata +3 -263
  5. data/examples/big-16mb.rb +0 -25
  6. data/examples/big-random-strings.rb +0 -28
  7. data/examples/blanks.rb +0 -34
  8. data/examples/blanks.xls +0 -0
  9. data/examples/col_width.rb +0 -16
  10. data/examples/col_width.xls +0 -0
  11. data/examples/dates.rb +0 -31
  12. data/examples/dates.xls +0 -0
  13. data/examples/format.rb +0 -23
  14. data/examples/format.xls +0 -0
  15. data/examples/hello-world.rb +0 -9
  16. data/examples/hello-world.xls +0 -0
  17. data/examples/image.rb +0 -10
  18. data/examples/image.xls +0 -0
  19. data/examples/merged.rb +0 -36
  20. data/examples/merged.xls +0 -0
  21. data/examples/merged0.rb +0 -27
  22. data/examples/merged0.xls +0 -0
  23. data/examples/merged1.rb +0 -99
  24. data/examples/merged1.xls +0 -0
  25. data/examples/num_formats.rb +0 -55
  26. data/examples/num_formats.xls +0 -0
  27. data/examples/numbers.rb +0 -24
  28. data/examples/numbers.xls +0 -0
  29. data/examples/outline.rb +0 -110
  30. data/examples/outline.xls +0 -0
  31. data/examples/panes.rb +0 -48
  32. data/examples/panes.xls +0 -0
  33. data/examples/protection.rb +0 -132
  34. data/examples/protection.xls +0 -0
  35. data/examples/python.bmp +0 -0
  36. data/examples/row_styles.rb +0 -16
  37. data/examples/row_styles.xls +0 -0
  38. data/examples/row_styles_empty.rb +0 -15
  39. data/examples/row_styles_empty.xls +0 -0
  40. data/examples/set_cell_and_range_style.rb +0 -12
  41. data/examples/set_cell_and_range_style.xls +0 -0
  42. data/examples/wrapped-text.rb +0 -13
  43. data/examples/wrapped-text.xls +0 -0
  44. data/examples/write_arrays.rb +0 -22
  45. data/examples/write_arrays.xls +0 -0
  46. data/examples/ws_props.rb +0 -80
  47. data/spec/biff_record_spec.rb +0 -268
  48. data/spec/cell_spec.rb +0 -56
  49. data/spec/data/random-strings.txt +0 -10000
  50. data/spec/document_spec.rb +0 -168
  51. data/spec/excel_formula_spec.rb +0 -27
  52. data/spec/formatting_spec.rb +0 -53
  53. data/spec/output/cells-rk.xls +0 -0
  54. data/spec/output/cells.xls +0 -0
  55. data/spec/output/mini.xls +0 -0
  56. data/spec/reference/P-0508-0000507647-3280-5298.xls +0 -0
  57. data/spec/reference/all-cell-styles.bin +0 -0
  58. data/spec/reference/all-number-formats.bin +0 -0
  59. data/spec/reference/all-styles.bin +0 -0
  60. data/spec/reference/mini.xls +0 -0
  61. data/spec/row_spec.rb +0 -19
  62. data/spec/spec_helper.rb +0 -10
  63. data/spec/style_spec.rb +0 -89
  64. data/spec/surpass_spec.rb +0 -7
  65. data/spec/utilities_spec.rb +0 -57
  66. data/spec/workbook_spec.rb +0 -48
  67. data/spec/worksheet_spec.rb +0 -0
  68. data/stats/cloc.txt +0 -8
  69. data/stats/rcov.txt +0 -0
  70. data/stats/specdoc.txt +0 -158
  71. data/webby/README.txt +0 -6
  72. data/webby/Sitefile +0 -43
  73. data/webby/content/css/pygments.txt +0 -6
  74. data/webby/content/css/style.css +0 -279
  75. data/webby/content/examples/autoformat.png +0 -0
  76. data/webby/content/examples/autoformat.rb +0 -32
  77. data/webby/content/examples/autoformat.xls +0 -0
  78. data/webby/content/examples/borders.png +0 -0
  79. data/webby/content/examples/borders.rb +0 -15
  80. data/webby/content/examples/borders.xls +0 -0
  81. data/webby/content/examples/colours.png +0 -0
  82. data/webby/content/examples/colours.rb +0 -23
  83. data/webby/content/examples/colours.xls +0 -0
  84. data/webby/content/examples/data.png +0 -0
  85. data/webby/content/examples/data.rb +0 -11
  86. data/webby/content/examples/data.xls +0 -0
  87. data/webby/content/examples/formatting.png +0 -0
  88. data/webby/content/examples/formatting.rb +0 -78
  89. data/webby/content/examples/formatting.xls +0 -0
  90. data/webby/content/examples/hello-world.png +0 -0
  91. data/webby/content/examples/hello-world.py +0 -8
  92. data/webby/content/examples/hello-world.rb +0 -9
  93. data/webby/content/examples/hello-world.xls +0 -0
  94. data/webby/content/examples/number-format-string.png +0 -0
  95. data/webby/content/examples/number-format-string.rb +0 -14
  96. data/webby/content/examples/number-format-string.xls +0 -0
  97. data/webby/content/examples/patterns.png +0 -0
  98. data/webby/content/examples/patterns.rb +0 -26
  99. data/webby/content/examples/patterns.xls +0 -0
  100. data/webby/content/examples/show-greens.sh +0 -1
  101. data/webby/content/examples/surpass-info.sh +0 -1
  102. data/webby/content/img/Thumbs.db +0 -0
  103. data/webby/content/img/bg_menu.gif +0 -0
  104. data/webby/content/img/bg_t.gif +0 -0
  105. data/webby/content/img/bullet.gif +0 -0
  106. data/webby/content/img/logo.png +0 -0
  107. data/webby/content/img/logo_.jpg +0 -0
  108. data/webby/content/img/top_bg.gif +0 -0
  109. data/webby/content/img/top_bg_.gif +0 -0
  110. data/webby/content/index.txt +0 -16
  111. data/webby/content/installation/index.txt +0 -24
  112. data/webby/content/source/ExcelFormulaLexer.txt +0 -7
  113. data/webby/content/source/ExcelFormulaParser.txt +0 -7
  114. data/webby/content/source/biff_record.txt +0 -7
  115. data/webby/content/source/bitmap.txt +0 -7
  116. data/webby/content/source/cell.txt +0 -7
  117. data/webby/content/source/chart.txt +0 -7
  118. data/webby/content/source/column.txt +0 -7
  119. data/webby/content/source/document.txt +0 -7
  120. data/webby/content/source/excel_formula.txt +0 -7
  121. data/webby/content/source/excel_magic.txt +0 -7
  122. data/webby/content/source/formatting.txt +0 -7
  123. data/webby/content/source/row.txt +0 -7
  124. data/webby/content/source/style.txt +0 -7
  125. data/webby/content/source/utilities.txt +0 -7
  126. data/webby/content/source/workbook.txt +0 -7
  127. data/webby/content/source/worksheet.txt +0 -7
  128. data/webby/content/surpass-manual.erb +0 -198
  129. data/webby/layouts/book.txt +0 -29
  130. data/webby/layouts/default.txt +0 -27
  131. data/webby/layouts/two_column.txt +0 -25
  132. data/webby/layouts/web.txt +0 -66
  133. data/webby/output/.cairn +0 -0
  134. data/webby/output/css/blueprint/ie.css +0 -26
  135. data/webby/output/css/blueprint/plugins/buttons/icons/cross.png +0 -0
  136. data/webby/output/css/blueprint/plugins/buttons/icons/key.png +0 -0
  137. data/webby/output/css/blueprint/plugins/buttons/icons/tick.png +0 -0
  138. data/webby/output/css/blueprint/plugins/buttons/readme.txt +0 -32
  139. data/webby/output/css/blueprint/plugins/buttons/screen.css +0 -97
  140. data/webby/output/css/blueprint/plugins/fancy-type/readme.txt +0 -14
  141. data/webby/output/css/blueprint/plugins/fancy-type/screen.css +0 -71
  142. data/webby/output/css/blueprint/plugins/link-icons/icons/doc.png +0 -0
  143. data/webby/output/css/blueprint/plugins/link-icons/icons/email.png +0 -0
  144. data/webby/output/css/blueprint/plugins/link-icons/icons/external.png +0 -0
  145. data/webby/output/css/blueprint/plugins/link-icons/icons/feed.png +0 -0
  146. data/webby/output/css/blueprint/plugins/link-icons/icons/im.png +0 -0
  147. data/webby/output/css/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  148. data/webby/output/css/blueprint/plugins/link-icons/icons/visited.png +0 -0
  149. data/webby/output/css/blueprint/plugins/link-icons/icons/xls.png +0 -0
  150. data/webby/output/css/blueprint/plugins/link-icons/readme.txt +0 -18
  151. data/webby/output/css/blueprint/plugins/link-icons/screen.css +0 -40
  152. data/webby/output/css/blueprint/plugins/rtl/readme.txt +0 -10
  153. data/webby/output/css/blueprint/plugins/rtl/screen.css +0 -109
  154. data/webby/output/css/blueprint/print.css +0 -30
  155. data/webby/output/css/blueprint/screen.css +0 -251
  156. data/webby/output/css/blueprint/src/forms.css +0 -49
  157. data/webby/output/css/blueprint/src/grid.css +0 -212
  158. data/webby/output/css/blueprint/src/grid.png +0 -0
  159. data/webby/output/css/blueprint/src/ie.css +0 -59
  160. data/webby/output/css/blueprint/src/print.css +0 -85
  161. data/webby/output/css/blueprint/src/reset.css +0 -38
  162. data/webby/output/css/blueprint/src/typography.css +0 -105
  163. data/webby/output/css/pygments.css +0 -59
  164. data/webby/output/css/site.css +0 -62
  165. data/webby/output/css/style.css +0 -279
  166. data/webby/output/examples/autoformat.png +0 -0
  167. data/webby/output/examples/autoformat.rb +0 -32
  168. data/webby/output/examples/autoformat.xls +0 -0
  169. data/webby/output/examples/borders.png +0 -0
  170. data/webby/output/examples/borders.rb +0 -15
  171. data/webby/output/examples/borders.xls +0 -0
  172. data/webby/output/examples/colours.png +0 -0
  173. data/webby/output/examples/colours.rb +0 -23
  174. data/webby/output/examples/colours.xls +0 -0
  175. data/webby/output/examples/data.png +0 -0
  176. data/webby/output/examples/data.rb +0 -11
  177. data/webby/output/examples/data.xls +0 -0
  178. data/webby/output/examples/formatting.png +0 -0
  179. data/webby/output/examples/formatting.rb +0 -78
  180. data/webby/output/examples/formatting.xls +0 -0
  181. data/webby/output/examples/hello-world.png +0 -0
  182. data/webby/output/examples/hello-world.py +0 -8
  183. data/webby/output/examples/hello-world.rb +0 -9
  184. data/webby/output/examples/hello-world.xls +0 -0
  185. data/webby/output/examples/number-format-string.png +0 -0
  186. data/webby/output/examples/number-format-string.rb +0 -14
  187. data/webby/output/examples/number-format-string.xls +0 -0
  188. data/webby/output/examples/patterns.png +0 -0
  189. data/webby/output/examples/patterns.rb +0 -26
  190. data/webby/output/examples/patterns.xls +0 -0
  191. data/webby/output/examples/show-greens.sh +0 -1
  192. data/webby/output/examples/surpass-info.sh +0 -1
  193. data/webby/output/img/Thumbs.db +0 -0
  194. data/webby/output/img/bg_menu.gif +0 -0
  195. data/webby/output/img/bg_t.gif +0 -0
  196. data/webby/output/img/bullet.gif +0 -0
  197. data/webby/output/img/logo.png +0 -0
  198. data/webby/output/img/logo_.jpg +0 -0
  199. data/webby/output/img/top_bg.gif +0 -0
  200. data/webby/output/img/top_bg_.gif +0 -0
  201. data/webby/output/index.html +0 -138
  202. data/webby/output/installation/index.html +0 -64
  203. data/webby/output/installation/installation.html +0 -1
  204. data/webby/output/installation.html +0 -1
  205. data/webby/output/source/ExcelFormulaLexer.html +0 -981
  206. data/webby/output/source/ExcelFormulaParser.html +0 -661
  207. data/webby/output/source/biff_record.html +0 -462
  208. data/webby/output/source/bitmap.html +0 -277
  209. data/webby/output/source/cell.html +0 -241
  210. data/webby/output/source/chart.html +0 -64
  211. data/webby/output/source/column.html +0 -99
  212. data/webby/output/source/document.html +0 -465
  213. data/webby/output/source/excel_formula.html +0 -82
  214. data/webby/output/source/excel_magic.html +0 -1072
  215. data/webby/output/source/formatting.html +0 -664
  216. data/webby/output/source/row.html +0 -169
  217. data/webby/output/source/style.html +0 -158
  218. data/webby/output/source/surpass.html +0 -110
  219. data/webby/output/source/utilities.html +0 -145
  220. data/webby/output/source/workbook.html +0 -265
  221. data/webby/output/source/worksheet.html +0 -331
  222. data/webby/output/surpass-manual-0-0-5.pdf +0 -0
  223. data/webby/output/surpass-manual.aux +0 -50
  224. data/webby/output/surpass-manual.log +0 -366
  225. data/webby/output/surpass-manual.out +0 -20
  226. data/webby/output/surpass-manual.tex +0 -582
  227. data/webby/output/surpass-manual.toc +0 -20
  228. data/webby/rsync-exclude +0 -7
  229. data/webby/tasks/latex.rake +0 -14
  230. data/webby/tasks/screenshots.rb +0 -58
  231. data/webby/templates/article.erb +0 -15
  232. data/webby/templates/book.erb +0 -16
  233. data/webby/templates/page.erb +0 -9
@@ -1,145 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
-
3
- <!-- ========================================================== -->
4
- <!-- Created by Devit Schizoper -->
5
- <!-- Created HomePages http://LoadFoo.starzonewebhost.com -->
6
- <!-- Created Day 01.12.2006 -->
7
- <!-- ========================================================== -->
8
-
9
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
10
- <head>
11
- <meta http-equiv="content-type" content="text/html;charset=utf-8" />
12
- <meta name="author" content="LoadFoO" />
13
- <meta name="description" content="Site description" />
14
- <meta name="keywords" content="key, words" />
15
- <title>Surpass :: utilities.rb</title>
16
- <link rel="stylesheet" type="text/css" href="/css/style.css" media="screen" />
17
- <link rel="stylesheet" href="/css/pygments.css" type="text/css" />
18
- <link rel="shortcut icon" href="favicon.ico" />
19
- </head>
20
-
21
- <body>
22
- <div id="wrap">
23
- <div id="top">
24
- <h2><a href="/" title="Back to main page">Surpass</a></h2>
25
- <div id="menu">
26
- <ul>
27
- <li><a href="/installation">Installation</a></li>
28
- <li><a href="/examples">Examples</a></li>
29
- <li><a href="/source">Source</a></li>
30
- </ul>
31
- </div>
32
- </div>
33
- <div id="content">
34
- <div id="left">
35
- <h2>utilities.rb</h2>
36
- <div class="highlight"><pre><span class="k">module</span> <span class="nn">Utilities</span>
37
- <span class="c1"># For ease of comparing with pyExcelerator output values</span>
38
- <span class="c1"># python seems to automatically decode to hex values</span>
39
- <span class="k">def</span> <span class="nf">hex_array_to_binary_string</span><span class="p">(</span><span class="n">array_of_hex_values</span><span class="p">)</span>
40
- <span class="o">[</span><span class="n">array_of_hex_values</span><span class="o">.</span><span class="n">collect</span> <span class="p">{</span><span class="o">|</span><span class="n">h</span><span class="o">|</span> <span class="o">[</span><span class="nb">sprintf</span><span class="p">(</span><span class="s2">&quot;%02x&quot;</span><span class="p">,</span> <span class="n">h</span><span class="p">)</span><span class="o">]</span><span class="p">}</span><span class="o">.</span><span class="n">join</span><span class="o">].</span><span class="n">pack</span><span class="p">(</span><span class="s1">&#39;H*&#39;</span><span class="p">)</span>
41
- <span class="k">end</span>
42
-
43
- <span class="k">def</span> <span class="nf">binary_string_to_hex_array</span><span class="p">(</span><span class="n">binary_string</span><span class="p">)</span>
44
- <span class="n">binary_string</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">&quot;H*&quot;</span><span class="p">)</span>
45
- <span class="k">end</span>
46
-
47
- <span class="k">def</span> <span class="nf">points_to_pixels</span><span class="p">(</span><span class="n">points</span><span class="p">)</span>
48
- <span class="n">points</span><span class="o">*</span><span class="p">(</span><span class="mi">4</span><span class="o">.</span><span class="mi">0</span><span class="o">/</span><span class="mi">3</span><span class="p">)</span>
49
- <span class="k">end</span>
50
-
51
- <span class="k">def</span> <span class="nf">pixels_to_points</span><span class="p">(</span><span class="n">pixels</span><span class="p">)</span>
52
- <span class="n">pixels</span> <span class="o">*</span> <span class="p">(</span><span class="mi">3</span><span class="o">.</span><span class="mi">0</span> <span class="o">/</span> <span class="mi">4</span><span class="p">)</span>
53
- <span class="k">end</span>
54
-
55
- <span class="k">def</span> <span class="nf">twips_to_pixels</span><span class="p">(</span><span class="n">twips</span><span class="p">)</span>
56
- <span class="n">twips</span> <span class="o">/</span> <span class="mi">15</span><span class="o">.</span><span class="mi">0</span>
57
- <span class="k">end</span>
58
-
59
- <span class="k">def</span> <span class="nf">pixels_to_twips</span><span class="p">(</span><span class="n">pixels</span><span class="p">)</span>
60
- <span class="n">pixels</span> <span class="o">*</span> <span class="mi">15</span><span class="o">.</span><span class="mi">0</span>
61
- <span class="k">end</span>
62
-
63
- <span class="k">def</span> <span class="nf">as_excel_date</span><span class="p">(</span><span class="n">date</span><span class="p">)</span>
64
- <span class="n">date</span> <span class="o">=</span> <span class="no">DateTime</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%c&quot;</span><span class="p">))</span> <span class="k">if</span> <span class="n">date</span><span class="o">.</span><span class="n">is_a?</span><span class="p">(</span><span class="no">Time</span><span class="p">)</span>
65
- <span class="n">excel_date</span> <span class="o">=</span> <span class="p">(</span><span class="n">date</span> <span class="o">-</span> <span class="no">Date</span><span class="o">.</span><span class="n">civil</span><span class="p">(</span><span class="mi">1899</span><span class="p">,</span> <span class="mi">12</span><span class="p">,</span> <span class="mi">31</span><span class="p">))</span><span class="o">.</span><span class="n">to_f</span>
66
- <span class="n">excel_date</span> <span class="o">+=</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">excel_date</span> <span class="o">&gt;</span> <span class="mi">59</span> <span class="c1"># Add a day for Excel&#39;s missing leap day in 1900</span>
67
- <span class="n">excel_date</span>
68
- <span class="k">end</span>
69
-
70
- <span class="k">def</span> <span class="nf">mock_unicode_string</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
71
- <span class="o">[</span><span class="n">s</span><span class="o">.</span><span class="n">length</span><span class="p">,</span> <span class="mi">0</span><span class="o">].</span><span class="n">pack</span><span class="p">(</span><span class="s1">&#39;vC&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="n">s</span>
72
- <span class="k">end</span>
73
-
74
-
75
- <span class="k">def</span> <span class="nf">as_boolean</span><span class="p">(</span><span class="n">input</span><span class="p">)</span>
76
- <span class="k">case</span> <span class="n">input</span>
77
- <span class="k">when</span> <span class="mi">1</span><span class="p">,</span> <span class="kp">true</span>
78
- <span class="kp">true</span>
79
- <span class="k">when</span> <span class="mi">0</span><span class="p">,</span> <span class="kp">false</span>
80
- <span class="kp">false</span>
81
- <span class="k">else</span>
82
- <span class="k">raise</span> <span class="s2">&quot;Can&#39;t convert </span><span class="si">#{</span><span class="n">input</span><span class="si">}</span><span class="s2"> from excel boolean!&quot;</span>
83
- <span class="k">end</span>
84
- <span class="k">end</span>
85
-
86
- <span class="k">def</span> <span class="nf">as_numeric</span><span class="p">(</span><span class="n">input</span><span class="p">)</span>
87
- <span class="k">case</span> <span class="n">input</span>
88
- <span class="k">when</span> <span class="kp">true</span><span class="p">,</span> <span class="mi">1</span>
89
- <span class="mi">1</span>
90
- <span class="k">when</span> <span class="kp">false</span><span class="p">,</span> <span class="mi">0</span>
91
- <span class="mi">0</span>
92
- <span class="k">else</span>
93
- <span class="k">raise</span> <span class="s2">&quot;Can&#39;t convert </span><span class="si">#{</span><span class="n">input</span><span class="si">}</span><span class="s2"> to excel boolean!&quot;</span>
94
- <span class="k">end</span>
95
- <span class="k">end</span>
96
-
97
- <span class="c1"># Mimic python&#39;s &quot;hex&quot; function 0x00</span>
98
- <span class="k">def</span> <span class="nf">hex</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
99
- <span class="s2">&quot;0x&quot;</span> <span class="o">+</span> <span class="n">value</span><span class="o">.</span><span class="n">to_s</span><span class="p">(</span><span class="mi">16</span><span class="p">)</span>
100
- <span class="k">end</span>
101
- <span class="k">end</span>
102
-
103
- <span class="k">def</span> <span class="nc">String</span><span class="o">.</span><span class="nf">random_alphanumeric</span><span class="p">(</span><span class="n">size</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>
104
- <span class="n">s</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
105
- <span class="n">size</span><span class="o">.</span><span class="n">times</span> <span class="p">{</span> <span class="n">s</span> <span class="o">&lt;&lt;</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="no">Kernel</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">62</span><span class="p">);</span> <span class="n">i</span> <span class="o">+=</span> <span class="p">((</span><span class="n">i</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="p">)</span> <span class="p">?</span> <span class="mi">48</span> <span class="p">:</span> <span class="p">((</span><span class="n">i</span> <span class="o">&lt;</span> <span class="mi">36</span><span class="p">)</span> <span class="p">?</span> <span class="mi">55</span> <span class="p">:</span> <span class="mi">61</span> <span class="p">)))</span><span class="o">.</span><span class="n">chr</span> <span class="p">}</span>
106
- <span class="n">s</span>
107
- <span class="k">end</span>
108
-
109
- <span class="k">class</span> <span class="nc">TrueClass</span>
110
- <span class="k">def</span> <span class="nf">to_i</span>
111
- <span class="mi">1</span>
112
- <span class="k">end</span>
113
- <span class="k">end</span>
114
-
115
- <span class="k">class</span> <span class="nc">FalseClass</span>
116
- <span class="k">def</span> <span class="nf">to_i</span>
117
- <span class="mi">0</span>
118
- <span class="k">end</span>
119
- <span class="k">end</span>
120
-
121
- <span class="kp">include</span> <span class="no">Utilities</span>
122
- </pre></div>
123
-
124
-
125
- </div>
126
- <div id="right">
127
- <ul id="nav">
128
- <li><a href="surpass-manual-0-0-5.pdf">Download PDF Manual</a></li>
129
- <li><a href="http://rubyforge.org/projects/surpass">Rubyforge Project Page</a></li>
130
- </ul>
131
- <div class="box">
132
- <h2 style="margin-top:17px">Latest News</h2>
133
- <ul>
134
- <li>...</li>
135
- </ul>
136
- </div>
137
- </div>
138
- <div id="clear"></div></div>
139
- <div id="footer">
140
- <p>Site template designed by <a href="http://loadfoo.org/" rel="external">LoadFoO</a>. Valid <a href="http://jigsaw.w3.org/css-validator/check/referer" rel="external">CSS</a> &amp; <a href="http://validator.w3.org/check?uri=referer" rel="external">XHTML</a></p>
141
- </div>
142
- </div>
143
-
144
- </body>
145
- </html>
@@ -1,265 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
-
3
- <!-- ========================================================== -->
4
- <!-- Created by Devit Schizoper -->
5
- <!-- Created HomePages http://LoadFoo.starzonewebhost.com -->
6
- <!-- Created Day 01.12.2006 -->
7
- <!-- ========================================================== -->
8
-
9
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
10
- <head>
11
- <meta http-equiv="content-type" content="text/html;charset=utf-8" />
12
- <meta name="author" content="LoadFoO" />
13
- <meta name="description" content="Site description" />
14
- <meta name="keywords" content="key, words" />
15
- <title>Surpass :: workbook.rb</title>
16
- <link rel="stylesheet" type="text/css" href="/css/style.css" media="screen" />
17
- <link rel="stylesheet" href="/css/pygments.css" type="text/css" />
18
- <link rel="shortcut icon" href="favicon.ico" />
19
- </head>
20
-
21
- <body>
22
- <div id="wrap">
23
- <div id="top">
24
- <h2><a href="/" title="Back to main page">Surpass</a></h2>
25
- <div id="menu">
26
- <ul>
27
- <li><a href="/installation">Installation</a></li>
28
- <li><a href="/examples">Examples</a></li>
29
- <li><a href="/source">Source</a></li>
30
- </ul>
31
- </div>
32
- </div>
33
- <div id="content">
34
- <div id="left">
35
- <h2>workbook.rb</h2>
36
- <div class="highlight"><pre><span class="k">class</span> <span class="nc">Workbook</span>
37
- <span class="no">MACROS</span> <span class="o">=</span> <span class="p">{</span>
38
- <span class="s1">&#39;Consolidate_Area&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x00</span><span class="p">,</span>
39
- <span class="s1">&#39;Auto_Open&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x01</span><span class="p">,</span>
40
- <span class="s1">&#39;Auto_Close&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x02</span><span class="p">,</span>
41
- <span class="s1">&#39;Extract&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x03</span><span class="p">,</span>
42
- <span class="s1">&#39;Database&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x04</span><span class="p">,</span>
43
- <span class="s1">&#39;Criteria&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x05</span><span class="p">,</span>
44
- <span class="s1">&#39;Print_Area&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x06</span><span class="p">,</span>
45
- <span class="s1">&#39;Print_Titles&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x07</span><span class="p">,</span> <span class="c1"># in the docs it says Pint_Titles, I think its a mistake</span>
46
- <span class="s1">&#39;Recorder&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x08</span><span class="p">,</span>
47
- <span class="s1">&#39;Data_Form&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x09</span><span class="p">,</span>
48
- <span class="s1">&#39;Auto_Activate&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x0A</span><span class="p">,</span>
49
- <span class="s1">&#39;Auto_Deactivate&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x0B</span><span class="p">,</span>
50
- <span class="s1">&#39;Sheet_Title&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x0C</span><span class="p">,</span>
51
- <span class="s1">&#39;_FilterDatabase&#39;</span> <span class="o">=&gt;</span> <span class="mh">0x0D</span>
52
- <span class="p">}</span>
53
-
54
- <span class="kp">attr_accessor</span> <span class="ss">:owner</span>
55
- <span class="kp">attr_accessor</span> <span class="ss">:country_code</span>
56
- <span class="kp">attr_accessor</span> <span class="ss">:wnd_protect</span>
57
- <span class="kp">attr_accessor</span> <span class="ss">:obj_protect</span>
58
- <span class="kp">attr_accessor</span> <span class="ss">:protect</span>
59
- <span class="kp">attr_accessor</span> <span class="ss">:backup_on_save</span>
60
- <span class="kp">attr_accessor</span> <span class="ss">:styles</span>
61
- <span class="kp">attr_accessor</span> <span class="ss">:sst</span>
62
-
63
- <span class="k">def</span> <span class="nf">hpos_twips</span><span class="o">=</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
64
- <span class="vi">@hpos_twips</span> <span class="o">=</span> <span class="n">value</span> <span class="o">&amp;</span> <span class="mh">0xFFFF</span>
65
- <span class="k">end</span>
66
-
67
- <span class="kp">attr_reader</span> <span class="ss">:vpos_twips</span>
68
- <span class="k">def</span> <span class="nf">vpos_twips</span><span class="o">=</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
69
- <span class="vi">@vpos_twips</span> <span class="o">=</span> <span class="n">value</span> <span class="o">&amp;</span> <span class="mh">0xFFFF</span>
70
- <span class="k">end</span>
71
-
72
- <span class="kp">attr_reader</span> <span class="ss">:width_twips</span>
73
- <span class="k">def</span> <span class="nf">width_twips</span><span class="o">=</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
74
- <span class="vi">@width_twips</span> <span class="o">=</span> <span class="n">value</span> <span class="o">&amp;</span> <span class="mh">0xFFFF</span>
75
- <span class="k">end</span>
76
-
77
- <span class="kp">attr_reader</span> <span class="ss">:height_twips</span>
78
- <span class="k">def</span> <span class="nf">height_twips</span><span class="o">=</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
79
- <span class="vi">@height_twips</span> <span class="o">=</span> <span class="n">value</span> <span class="o">&amp;</span> <span class="mh">0xFFFF</span>
80
- <span class="k">end</span>
81
-
82
- <span class="kp">attr_reader</span> <span class="ss">:active_sheet</span>
83
- <span class="k">def</span> <span class="nf">active_sheet</span><span class="o">=</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
84
- <span class="vi">@active_sheet</span> <span class="o">=</span> <span class="n">value</span> <span class="o">&amp;</span> <span class="mh">0xFFFF</span>
85
- <span class="vi">@first_tab_index</span> <span class="o">=</span> <span class="vi">@active_sheet</span>
86
- <span class="k">end</span>
87
-
88
- <span class="kp">attr_reader</span> <span class="ss">:tab_width_twips</span>
89
- <span class="k">def</span> <span class="nf">tab_width_twips</span><span class="o">=</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
90
- <span class="vi">@tab_width_twips</span> <span class="o">=</span> <span class="n">value</span> <span class="o">&amp;</span> <span class="mh">0xFFFF</span>
91
- <span class="k">end</span>
92
-
93
- <span class="kp">attr_reader</span> <span class="ss">:default_style</span>
94
-
95
- <span class="k">def</span> <span class="nf">initialize</span><span class="p">(</span><span class="n">filename</span> <span class="o">=</span> <span class="kp">nil</span><span class="p">)</span>
96
- <span class="vi">@owner</span> <span class="o">=</span> <span class="s1">&#39;None&#39;</span>
97
- <span class="vi">@wnd_protect</span> <span class="o">=</span> <span class="mi">0</span>
98
- <span class="vi">@obj_protect</span> <span class="o">=</span> <span class="mi">0</span>
99
- <span class="vi">@protect</span> <span class="o">=</span> <span class="mi">0</span>
100
- <span class="vi">@backup_on_save</span> <span class="o">=</span> <span class="mi">0</span>
101
-
102
- <span class="vi">@hpos_twips</span> <span class="o">=</span> <span class="mh">0x01E0</span>
103
- <span class="vi">@vpos_twips</span> <span class="o">=</span> <span class="mh">0x005A</span>
104
- <span class="vi">@width_twips</span> <span class="o">=</span> <span class="mh">0x3FCF</span>
105
- <span class="vi">@height_twips</span> <span class="o">=</span> <span class="mh">0x2A4E</span>
106
-
107
- <span class="vi">@active_sheet</span> <span class="o">=</span> <span class="mi">0</span>
108
- <span class="vi">@first_tab_index</span> <span class="o">=</span> <span class="mi">0</span>
109
- <span class="vi">@selected_tabs</span> <span class="o">=</span> <span class="mh">0x01</span>
110
- <span class="vi">@tab_width_twips</span> <span class="o">=</span> <span class="mh">0x0258</span>
111
-
112
- <span class="vi">@wnd_hidden</span> <span class="o">=</span> <span class="kp">false</span>
113
- <span class="vi">@wnd_mini</span> <span class="o">=</span> <span class="kp">false</span>
114
- <span class="vi">@hscroll_visible</span> <span class="o">=</span> <span class="kp">true</span>
115
- <span class="vi">@vscroll_visible</span> <span class="o">=</span> <span class="kp">true</span>
116
- <span class="vi">@tabs_visible</span> <span class="o">=</span> <span class="kp">true</span>
117
-
118
- <span class="vi">@styles</span> <span class="o">=</span> <span class="o">::</span><span class="no">StyleCollection</span><span class="o">.</span><span class="n">new</span>
119
-
120
- <span class="vi">@dates_1904</span> <span class="o">=</span> <span class="kp">false</span>
121
- <span class="vi">@use_cell_values</span> <span class="o">=</span> <span class="kp">true</span>
122
-
123
- <span class="vi">@sst</span> <span class="o">=</span> <span class="no">SharedStringTable</span><span class="o">.</span><span class="n">new</span>
124
-
125
- <span class="vi">@worksheets</span> <span class="o">=</span> <span class="o">[]</span>
126
- <span class="vi">@names</span> <span class="o">=</span> <span class="o">[]</span>
127
- <span class="vi">@refs</span> <span class="o">=</span> <span class="o">[]</span>
128
-
129
- <span class="vi">@filename</span> <span class="o">=</span> <span class="n">filename</span>
130
- <span class="k">end</span>
131
-
132
- <span class="k">def</span> <span class="nf">add_sheet</span><span class="p">(</span><span class="nb">name</span> <span class="o">=</span> <span class="kp">nil</span><span class="p">)</span>
133
- <span class="nb">name</span> <span class="o">||=</span> <span class="s2">&quot;Sheet</span><span class="si">#{</span><span class="vi">@worksheets</span><span class="o">.</span><span class="n">length</span> <span class="o">+</span> <span class="mi">1</span><span class="si">}</span><span class="s2">&quot;</span>
134
- <span class="n">s</span> <span class="o">=</span> <span class="no">Worksheet</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="nb">name</span><span class="p">,</span> <span class="nb">self</span><span class="p">)</span>
135
- <span class="vi">@worksheets</span> <span class="o">&lt;&lt;</span> <span class="n">s</span>
136
- <span class="n">s</span>
137
- <span class="k">end</span>
138
-
139
- <span class="k">def</span> <span class="nf">print_area</span><span class="p">(</span><span class="n">sheetnum</span><span class="p">,</span> <span class="n">rstart</span><span class="p">,</span> <span class="n">rend</span><span class="p">,</span> <span class="n">cstart</span><span class="p">,</span> <span class="n">cend</span><span class="p">)</span>
140
- <span class="k">if</span> <span class="o">!</span><span class="n">sheetnum</span><span class="o">.</span><span class="n">is_a?</span><span class="p">(</span><span class="nb">Integer</span><span class="p">)</span>
141
- <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
142
- <span class="vi">@worksheets</span><span class="o">.</span><span class="n">each_with_index</span> <span class="k">do</span> <span class="o">|</span><span class="n">w</span><span class="p">,</span> <span class="n">i</span><span class="o">|</span>
143
- <span class="n">sheetnum</span> <span class="o">=</span> <span class="n">i</span><span class="o">+</span><span class="mi">1</span> <span class="k">if</span> <span class="n">w</span><span class="o">.</span><span class="n">name</span> <span class="o">===</span> <span class="n">sheetnum</span>
144
- <span class="k">break</span> <span class="k">if</span> <span class="n">sheetnum</span><span class="o">.</span><span class="n">is_a?</span><span class="p">(</span><span class="nb">Integer</span><span class="p">)</span>
145
- <span class="k">end</span>
146
- <span class="k">end</span>
147
-
148
- <span class="n">options</span> <span class="o">=</span> <span class="mh">0x0020</span> <span class="c1"># see Options Flags for Name record</span>
149
-
150
- <span class="c1"># FIXME: this is just a bad hack, need to use Formula to make the rpn</span>
151
- <span class="c1">#~ rpn = ExcelFormula.Formula(&#39;&#39;).rpn()[2:] # minus the size field</span>
152
- <span class="n">rpn</span> <span class="o">=</span> <span class="o">[</span><span class="mh">0x3B</span><span class="p">,</span> <span class="mh">0x0000</span><span class="p">,</span> <span class="n">rstart</span><span class="p">,</span> <span class="n">rend</span><span class="p">,</span> <span class="n">cstart</span><span class="p">,</span> <span class="n">cend</span><span class="o">].</span><span class="n">pack</span><span class="p">(</span><span class="s1">&#39;Cv5&#39;</span><span class="p">)</span>
153
- <span class="n">args</span> <span class="o">=</span> <span class="o">[</span><span class="n">options</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="no">MACROS</span><span class="o">[</span><span class="s1">&#39;Print_Area&#39;</span><span class="o">]</span><span class="p">,</span> <span class="n">sheetnum</span><span class="p">,</span> <span class="n">rpn</span><span class="o">]</span>
154
- <span class="vi">@names</span> <span class="o">&lt;&lt;</span> <span class="no">NameRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
155
- <span class="k">end</span>
156
-
157
- <span class="k">def</span> <span class="nf">to_biff</span>
158
- <span class="k">raise</span> <span class="s2">&quot;You cannot save a workbook with no worksheets&quot;</span> <span class="k">if</span> <span class="vi">@worksheets</span><span class="o">.</span><span class="n">empty?</span>
159
-
160
- <span class="n">section_1_array</span> <span class="o">=</span> <span class="o">[]</span>
161
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">Biff8BOFRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="no">Biff8BOFRecord</span><span class="o">::</span><span class="no">BOOK_GLOBAL</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
162
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">InterfaceHeaderRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
163
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">MMSRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
164
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">InterfaceEndRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
165
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">WriteAccessRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">owner</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
166
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">CodepageBiff8Record</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
167
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">DSFRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
168
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">TabIDRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="vi">@worksheets</span><span class="o">.</span><span class="n">length</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
169
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">FnGroupCountRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
170
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">WindowProtectRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">as_numeric</span><span class="p">(</span><span class="vi">@wnd_protect</span><span class="p">))</span><span class="o">.</span><span class="n">to_biff</span>
171
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">ProtectRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">as_numeric</span><span class="p">(</span><span class="vi">@protect</span><span class="p">))</span><span class="o">.</span><span class="n">to_biff</span>
172
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">ObjectProtectRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">as_numeric</span><span class="p">(</span><span class="vi">@obj_protect</span><span class="p">))</span><span class="o">.</span><span class="n">to_biff</span>
173
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">PasswordRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
174
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">Prot4RevRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
175
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">Prot4RevPassRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
176
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">BackupRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="vi">@backup_on_save</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
177
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">HideObjRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
178
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="n">window_1_record</span>
179
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">DateModeRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="vi">@dates_1904</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
180
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">PrecisionRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="vi">@use_cell_values</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
181
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">RefreshAllRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
182
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">BookBoolRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
183
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="vi">@styles</span><span class="o">.</span><span class="n">to_biff</span>
184
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="s1">&#39;&#39;</span> <span class="c1"># Palette</span>
185
- <span class="n">section_1_array</span> <span class="o">&lt;&lt;</span> <span class="no">UseSelfsRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
186
- <span class="n">section_1</span> <span class="o">=</span> <span class="n">section_1_array</span><span class="o">.</span><span class="n">join</span>
187
-
188
- <span class="n">section_3_array</span> <span class="o">=</span> <span class="o">[]</span>
189
- <span class="n">section_3_array</span> <span class="o">&lt;&lt;</span> <span class="no">CountryRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="vi">@country_code</span><span class="p">,</span> <span class="vi">@country_code</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span> <span class="k">unless</span> <span class="vi">@country_code</span><span class="o">.</span><span class="n">nil?</span>
190
- <span class="c1"># section_3_array &lt;&lt; InternalReferenceSupBookRecord.new(@worksheets.length).to_biff</span>
191
- <span class="c1"># section_3_array &lt;&lt; ExternSheetRecord.new(@refs).to_biff</span>
192
- <span class="c1"># section_3_array &lt;&lt; @names.collect {|n| n.to_biff}.join</span>
193
- <span class="n">section_3_array</span> <span class="o">&lt;&lt;</span> <span class="vi">@sst</span><span class="o">.</span><span class="n">to_biff</span>
194
- <span class="n">section_3</span> <span class="o">=</span> <span class="n">section_3_array</span><span class="o">.</span><span class="n">join</span>
195
-
196
- <span class="n">section_4</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span> <span class="c1"># ExtSSTRecord</span>
197
- <span class="n">section_5</span> <span class="o">=</span> <span class="no">EOFRecord</span><span class="o">.</span><span class="n">new</span><span class="o">.</span><span class="n">to_biff</span>
198
-
199
- <span class="vi">@worksheets</span><span class="o">[</span><span class="vi">@active_sheet</span><span class="o">].</span><span class="n">selected</span> <span class="o">=</span> <span class="kp">true</span>
200
- <span class="n">worksheet_biff_data</span> <span class="o">=</span> <span class="vi">@worksheets</span><span class="o">.</span><span class="n">collect</span> <span class="p">{</span><span class="o">|</span><span class="n">w</span><span class="o">|</span> <span class="n">w</span><span class="o">.</span><span class="n">to_biff</span> <span class="p">}</span>
201
- <span class="n">worksheet_biff_data_lengths</span> <span class="o">=</span> <span class="n">worksheet_biff_data</span><span class="o">.</span><span class="n">collect</span> <span class="p">{</span><span class="o">|</span><span class="n">w</span><span class="o">|</span> <span class="n">w</span><span class="o">.</span><span class="n">length</span> <span class="p">}</span>
202
- <span class="n">section_6</span> <span class="o">=</span> <span class="n">worksheet_biff_data</span><span class="o">.</span><span class="n">join</span>
203
-
204
- <span class="c1"># Need to know how long the bound sheet records will be</span>
205
- <span class="n">boundsheet_data_lengths</span> <span class="o">=</span> <span class="vi">@worksheets</span><span class="o">.</span><span class="n">collect</span> <span class="p">{</span><span class="o">|</span><span class="n">w</span><span class="o">|</span> <span class="no">BoundSheetRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="mh">0x00</span><span class="p">,</span> <span class="n">w</span><span class="o">.</span><span class="n">visibility</span><span class="p">,</span> <span class="n">w</span><span class="o">.</span><span class="n">name</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span><span class="o">.</span><span class="n">length</span> <span class="p">}</span>
206
- <span class="n">total_boundsheet_data_length</span> <span class="o">=</span> <span class="n">boundsheet_data_lengths</span><span class="o">.</span><span class="n">inject</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="p">{</span><span class="o">|</span><span class="n">sum</span><span class="p">,</span> <span class="n">l</span><span class="o">|</span> <span class="n">sum</span> <span class="o">+</span> <span class="n">l</span><span class="p">}</span>
207
- <span class="n">start_position</span> <span class="o">=</span> <span class="n">section_1</span><span class="o">.</span><span class="n">length</span> <span class="o">+</span> <span class="n">total_boundsheet_data_length</span> <span class="o">+</span> <span class="n">section_3</span><span class="o">.</span><span class="n">length</span> <span class="o">+</span> <span class="n">section_4</span><span class="o">.</span><span class="n">length</span> <span class="o">+</span> <span class="n">section_5</span><span class="o">.</span><span class="n">length</span>
208
-
209
- <span class="n">boundsheet_records</span> <span class="o">=</span> <span class="o">[]</span>
210
- <span class="vi">@worksheets</span><span class="o">.</span><span class="n">each_with_index</span> <span class="k">do</span> <span class="o">|</span><span class="n">w</span><span class="p">,</span> <span class="n">i</span><span class="o">|</span>
211
- <span class="n">boundsheet_records</span> <span class="o">&lt;&lt;</span> <span class="no">BoundSheetRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">start_position</span><span class="p">,</span> <span class="n">w</span><span class="o">.</span><span class="n">visibility</span><span class="p">,</span> <span class="n">w</span><span class="o">.</span><span class="n">name</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
212
- <span class="n">start_position</span> <span class="o">+=</span> <span class="n">worksheet_biff_data_lengths</span><span class="o">[</span><span class="n">i</span><span class="o">]</span>
213
- <span class="k">end</span>
214
-
215
- <span class="n">section_2</span> <span class="o">=</span> <span class="n">boundsheet_records</span><span class="o">.</span><span class="n">join</span>
216
- <span class="n">section_1</span> <span class="o">+</span> <span class="n">section_2</span> <span class="o">+</span> <span class="n">section_3</span> <span class="o">+</span> <span class="n">section_4</span> <span class="o">+</span> <span class="n">section_5</span> <span class="o">+</span> <span class="n">section_6</span>
217
- <span class="k">end</span>
218
-
219
- <span class="k">def</span> <span class="nf">window_1_record</span>
220
- <span class="n">flags</span> <span class="o">=</span> <span class="mi">0</span>
221
- <span class="n">flags</span> <span class="o">|=</span> <span class="p">(</span><span class="n">as_numeric</span><span class="p">(</span><span class="vi">@wnd_hidden</span><span class="p">))</span> <span class="o">&lt;&lt;</span> <span class="mi">0</span>
222
- <span class="n">flags</span> <span class="o">|=</span> <span class="p">(</span><span class="n">as_numeric</span><span class="p">(</span><span class="vi">@wnd_mini</span><span class="p">))</span> <span class="o">&lt;&lt;</span> <span class="mi">1</span>
223
- <span class="n">flags</span> <span class="o">|=</span> <span class="p">(</span><span class="n">as_numeric</span><span class="p">(</span><span class="vi">@hscroll_visible</span><span class="p">))</span> <span class="o">&lt;&lt;</span> <span class="mi">3</span>
224
- <span class="n">flags</span> <span class="o">|=</span> <span class="p">(</span><span class="n">as_numeric</span><span class="p">(</span><span class="vi">@vscroll_visible</span><span class="p">))</span> <span class="o">&lt;&lt;</span> <span class="mi">4</span>
225
- <span class="n">flags</span> <span class="o">|=</span> <span class="p">(</span><span class="n">as_numeric</span><span class="p">(</span><span class="vi">@tabs_visible</span><span class="p">))</span> <span class="o">&lt;&lt;</span> <span class="mi">5</span>
226
-
227
- <span class="n">args</span> <span class="o">=</span> <span class="o">[</span><span class="vi">@hpos_twips</span><span class="p">,</span> <span class="vi">@vpos_twips</span><span class="p">,</span> <span class="vi">@width_twips</span><span class="p">,</span> <span class="vi">@height_twips</span><span class="p">,</span> <span class="n">flags</span><span class="p">,</span> <span class="vi">@active_sheet</span><span class="p">,</span> <span class="vi">@first_tab_index</span><span class="p">,</span> <span class="vi">@selected_tabs</span><span class="p">,</span> <span class="vi">@tab_width_twips</span><span class="o">]</span>
228
- <span class="no">Window1Record</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
229
- <span class="k">end</span>
230
-
231
- <span class="k">def</span> <span class="nf">data</span>
232
- <span class="n">doc</span> <span class="o">=</span> <span class="no">ExcelDocument</span><span class="o">.</span><span class="n">new</span>
233
- <span class="n">doc</span><span class="o">.</span><span class="n">data</span><span class="p">(</span><span class="n">to_biff</span><span class="p">)</span><span class="o">.</span><span class="n">read</span>
234
- <span class="k">end</span>
235
-
236
- <span class="k">def</span> <span class="nf">save</span><span class="p">(</span><span class="n">filename</span> <span class="o">=</span> <span class="kp">nil</span><span class="p">)</span>
237
- <span class="vi">@filename</span> <span class="o">=</span> <span class="n">filename</span> <span class="k">unless</span> <span class="n">filename</span><span class="o">.</span><span class="n">nil?</span>
238
- <span class="n">doc</span> <span class="o">=</span> <span class="no">ExcelDocument</span><span class="o">.</span><span class="n">new</span>
239
- <span class="n">doc</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="vi">@filename</span><span class="p">,</span> <span class="n">to_biff</span><span class="p">)</span>
240
- <span class="k">end</span>
241
- <span class="k">end</span>
242
- </pre></div>
243
-
244
-
245
- </div>
246
- <div id="right">
247
- <ul id="nav">
248
- <li><a href="surpass-manual-0-0-5.pdf">Download PDF Manual</a></li>
249
- <li><a href="http://rubyforge.org/projects/surpass">Rubyforge Project Page</a></li>
250
- </ul>
251
- <div class="box">
252
- <h2 style="margin-top:17px">Latest News</h2>
253
- <ul>
254
- <li>...</li>
255
- </ul>
256
- </div>
257
- </div>
258
- <div id="clear"></div></div>
259
- <div id="footer">
260
- <p>Site template designed by <a href="http://loadfoo.org/" rel="external">LoadFoO</a>. Valid <a href="http://jigsaw.w3.org/css-validator/check/referer" rel="external">CSS</a> &amp; <a href="http://validator.w3.org/check?uri=referer" rel="external">XHTML</a></p>
261
- </div>
262
- </div>
263
-
264
- </body>
265
- </html>