roo 1.10.1 → 1.10.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +38 -0
  4. data/History.txt +4 -4
  5. data/License.txt +20 -0
  6. data/Manifest.txt +68 -0
  7. data/README.markdown +109 -0
  8. data/Rakefile +5 -4
  9. data/bin/roo +0 -0
  10. data/examples/roo_soap_client.rb +53 -0
  11. data/examples/roo_soap_server.rb +29 -0
  12. data/examples/write_me.rb +33 -0
  13. data/lib/roo.rb +20 -61
  14. data/lib/roo/csv.rb +13 -11
  15. data/lib/roo/excel.rb +108 -219
  16. data/lib/roo/excel2003xml.rb +312 -0
  17. data/lib/roo/excelx.rb +205 -341
  18. data/lib/roo/generic_spreadsheet.rb +371 -268
  19. data/lib/roo/google.rb +64 -54
  20. data/lib/roo/openoffice.rb +101 -156
  21. data/lib/roo/roo_rails_helper.rb +5 -5
  22. data/lib/roo/worksheet.rb +18 -0
  23. data/roo.gemspec +43 -0
  24. data/scripts/txt2html +67 -0
  25. data/test/all_ss.rb +8 -10
  26. data/test/{1900_base.xls → files/1900_base.xls} +0 -0
  27. data/test/{1904_base.xls → files/1904_base.xls} +0 -0
  28. data/test/{Bibelbund.csv → files/Bibelbund.csv} +0 -0
  29. data/test/{Bibelbund.ods → files/Bibelbund.ods} +0 -0
  30. data/test/{Bibelbund.xls → files/Bibelbund.xls} +0 -0
  31. data/test/{Bibelbund.xlsx → files/Bibelbund.xlsx} +0 -0
  32. data/test/files/Bibelbund.xml +62518 -0
  33. data/test/{Bibelbund1.ods → files/Bibelbund1.ods} +0 -0
  34. data/test/{Pfand_from_windows_phone.xlsx → files/Pfand_from_windows_phone.xlsx} +0 -0
  35. data/test/files/bad_excel_date.xls +0 -0
  36. data/test/{bbu.ods → files/bbu.ods} +0 -0
  37. data/test/{bbu.xls → files/bbu.xls} +0 -0
  38. data/test/{bbu.xlsx → files/bbu.xlsx} +0 -0
  39. data/test/files/bbu.xml +152 -0
  40. data/test/{bode-v1.ods.zip → files/bode-v1.ods.zip} +0 -0
  41. data/test/{bode-v1.xls.zip → files/bode-v1.xls.zip} +0 -0
  42. data/test/{boolean.ods → files/boolean.ods} +0 -0
  43. data/test/{boolean.xls → files/boolean.xls} +0 -0
  44. data/test/{boolean.xlsx → files/boolean.xlsx} +0 -0
  45. data/test/files/boolean.xml +112 -0
  46. data/test/{borders.ods → files/borders.ods} +0 -0
  47. data/test/{borders.xls → files/borders.xls} +0 -0
  48. data/test/{borders.xlsx → files/borders.xlsx} +0 -0
  49. data/test/files/borders.xml +144 -0
  50. data/test/{bug-row-column-fixnum-float.xls → files/bug-row-column-fixnum-float.xls} +0 -0
  51. data/test/files/bug-row-column-fixnum-float.xml +127 -0
  52. data/test/{comments.ods → files/comments.ods} +0 -0
  53. data/test/{comments.xls → files/comments.xls} +0 -0
  54. data/test/{comments.xlsx → files/comments.xlsx} +0 -0
  55. data/test/{csvtypes.csv → files/csvtypes.csv} +0 -0
  56. data/test/{datetime.ods → files/datetime.ods} +0 -0
  57. data/test/{datetime.xls → files/datetime.xls} +0 -0
  58. data/test/{datetime.xlsx → files/datetime.xlsx} +0 -0
  59. data/test/files/datetime.xml +142 -0
  60. data/test/{datetime_floatconv.xls → files/datetime_floatconv.xls} +0 -0
  61. data/test/files/datetime_floatconv.xml +148 -0
  62. data/test/{dreimalvier.ods → files/dreimalvier.ods} +0 -0
  63. data/test/{emptysheets.ods → files/emptysheets.ods} +0 -0
  64. data/test/{emptysheets.xls → files/emptysheets.xls} +0 -0
  65. data/test/{emptysheets.xlsx → files/emptysheets.xlsx} +0 -0
  66. data/test/files/emptysheets.xml +105 -0
  67. data/test/files/excel2003.xml +21140 -0
  68. data/test/{false_encoding.xls → files/false_encoding.xls} +0 -0
  69. data/test/files/false_encoding.xml +132 -0
  70. data/test/{formula.ods → files/formula.ods} +0 -0
  71. data/test/{formula.xls → files/formula.xls} +0 -0
  72. data/test/{formula.xlsx → files/formula.xlsx} +0 -0
  73. data/test/files/formula.xml +134 -0
  74. data/test/files/formula_parse_error.xls +0 -0
  75. data/test/files/formula_parse_error.xml +1833 -0
  76. data/test/{formula_string_error.xlsx → files/formula_string_error.xlsx} +0 -0
  77. data/test/{html-escape.ods → files/html-escape.ods} +0 -0
  78. data/test/{matrix.ods → files/matrix.ods} +0 -0
  79. data/test/{matrix.xls → files/matrix.xls} +0 -0
  80. data/test/{named_cells.ods → files/named_cells.ods} +0 -0
  81. data/test/{named_cells.xls → files/named_cells.xls} +0 -0
  82. data/test/{named_cells.xlsx → files/named_cells.xlsx} +0 -0
  83. data/test/{no_spreadsheet_file.txt → files/no_spreadsheet_file.txt} +0 -0
  84. data/test/{numbers1.csv → files/numbers1.csv} +0 -0
  85. data/test/{numbers1.ods → files/numbers1.ods} +0 -0
  86. data/test/{numbers1.xls → files/numbers1.xls} +0 -0
  87. data/test/{numbers1.xlsx → files/numbers1.xlsx} +0 -0
  88. data/test/files/numbers1.xml +312 -0
  89. data/test/{only_one_sheet.ods → files/only_one_sheet.ods} +0 -0
  90. data/test/{only_one_sheet.xls → files/only_one_sheet.xls} +0 -0
  91. data/test/{only_one_sheet.xlsx → files/only_one_sheet.xlsx} +0 -0
  92. data/test/files/only_one_sheet.xml +67 -0
  93. data/test/{paragraph.ods → files/paragraph.ods} +0 -0
  94. data/test/{paragraph.xls → files/paragraph.xls} +0 -0
  95. data/test/{paragraph.xlsx → files/paragraph.xlsx} +0 -0
  96. data/test/files/paragraph.xml +127 -0
  97. data/test/{prova.xls → files/prova.xls} +0 -0
  98. data/test/{ric.ods → files/ric.ods} +0 -0
  99. data/test/{simple_spreadsheet.ods → files/simple_spreadsheet.ods} +0 -0
  100. data/test/{simple_spreadsheet.xls → files/simple_spreadsheet.xls} +0 -0
  101. data/test/{simple_spreadsheet.xlsx → files/simple_spreadsheet.xlsx} +0 -0
  102. data/test/files/simple_spreadsheet.xml +225 -0
  103. data/test/{simple_spreadsheet_from_italo.ods → files/simple_spreadsheet_from_italo.ods} +0 -0
  104. data/test/{simple_spreadsheet_from_italo.xls → files/simple_spreadsheet_from_italo.xls} +0 -0
  105. data/test/files/simple_spreadsheet_from_italo.xml +242 -0
  106. data/test/{so_datetime.csv → files/so_datetime.csv} +0 -0
  107. data/test/{style.ods → files/style.ods} +0 -0
  108. data/test/{style.xls → files/style.xls} +0 -0
  109. data/test/{style.xlsx → files/style.xlsx} +0 -0
  110. data/test/files/style.xml +154 -0
  111. data/test/{time-test.csv → files/time-test.csv} +0 -0
  112. data/test/{time-test.ods → files/time-test.ods} +0 -0
  113. data/test/{time-test.xls → files/time-test.xls} +0 -0
  114. data/test/{time-test.xlsx → files/time-test.xlsx} +0 -0
  115. data/test/files/time-test.xml +131 -0
  116. data/test/{type_excel.ods → files/type_excel.ods} +0 -0
  117. data/test/{type_excel.xlsx → files/type_excel.xlsx} +0 -0
  118. data/test/{type_excelx.ods → files/type_excelx.ods} +0 -0
  119. data/test/{type_excelx.xls → files/type_excelx.xls} +0 -0
  120. data/test/{type_openoffice.xls → files/type_openoffice.xls} +0 -0
  121. data/test/{type_openoffice.xlsx → files/type_openoffice.xlsx} +0 -0
  122. data/test/{whitespace.ods → files/whitespace.ods} +0 -0
  123. data/test/{whitespace.xls → files/whitespace.xls} +0 -0
  124. data/test/{whitespace.xlsx → files/whitespace.xlsx} +0 -0
  125. data/test/files/whitespace.xml +184 -0
  126. data/test/test_generic_spreadsheet.rb +257 -0
  127. data/test/test_helper.rb +167 -27
  128. data/test/test_roo.rb +1178 -930
  129. data/website/index.html +385 -0
  130. data/website/index.txt +423 -0
  131. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  132. data/website/stylesheets/screen.css +130 -0
  133. data/website/template.rhtml +48 -0
  134. metadata +151 -121
  135. data/README.txt +0 -110
  136. data/lib/roo/.csv.rb.swp +0 -0
metadata CHANGED
@@ -1,19 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.1
4
+ version: 1.10.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Thomas Preymesser
9
+ - Hugh McGowan
10
+ - Ben Woosley
9
11
  autorequire:
10
12
  bindir: bin
11
13
  cert_chain: []
12
- date: 2011-11-14 00:00:00.000000000Z
14
+ date: 2013-02-03 00:00:00.000000000 Z
13
15
  dependencies:
14
16
  - !ruby/object:Gem::Dependency
15
17
  name: spreadsheet
16
- requirement: &28860984 !ruby/object:Gem::Requirement
18
+ requirement: !ruby/object:Gem::Requirement
17
19
  none: false
18
20
  requirements:
19
21
  - - ! '>'
@@ -21,73 +23,60 @@ dependencies:
21
23
  version: 0.6.4
22
24
  type: :runtime
23
25
  prerelease: false
24
- version_requirements: *28860984
25
- - !ruby/object:Gem::Dependency
26
- name: nokogiri
27
- requirement: &28860480 !ruby/object:Gem::Requirement
26
+ version_requirements: !ruby/object:Gem::Requirement
28
27
  none: false
29
28
  requirements:
30
- - - ! '>='
29
+ - - ! '>'
31
30
  - !ruby/object:Gem::Version
32
- version: 1.5.0
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *28860480
31
+ version: 0.6.4
36
32
  - !ruby/object:Gem::Dependency
37
- name: rubyzip
38
- requirement: &28859964 !ruby/object:Gem::Requirement
33
+ name: nokogiri
34
+ requirement: !ruby/object:Gem::Requirement
39
35
  none: false
40
36
  requirements:
41
37
  - - ! '>='
42
38
  - !ruby/object:Gem::Version
43
- version: 0.9.4
39
+ version: 1.5.6
44
40
  type: :runtime
45
41
  prerelease: false
46
- version_requirements: *28859964
47
- - !ruby/object:Gem::Dependency
48
- name: google-spreadsheet-ruby
49
- requirement: &28859412 !ruby/object:Gem::Requirement
42
+ version_requirements: !ruby/object:Gem::Requirement
50
43
  none: false
51
44
  requirements:
52
45
  - - ! '>='
53
46
  - !ruby/object:Gem::Version
54
- version: 0.1.5
55
- type: :runtime
56
- prerelease: false
57
- version_requirements: *28859412
47
+ version: 1.5.6
58
48
  - !ruby/object:Gem::Dependency
59
- name: choice
60
- requirement: &28858860 !ruby/object:Gem::Requirement
49
+ name: rubyzip
50
+ requirement: !ruby/object:Gem::Requirement
61
51
  none: false
62
52
  requirements:
63
53
  - - ! '>='
64
54
  - !ruby/object:Gem::Version
65
- version: 0.1.4
55
+ version: 0.9.9
66
56
  type: :runtime
67
57
  prerelease: false
68
- version_requirements: *28858860
69
- - !ruby/object:Gem::Dependency
70
- name: todonotes
71
- requirement: &28858464 !ruby/object:Gem::Requirement
58
+ version_requirements: !ruby/object:Gem::Requirement
72
59
  none: false
73
60
  requirements:
74
61
  - - ! '>='
75
62
  - !ruby/object:Gem::Version
76
- version: 0.1.0
77
- type: :runtime
78
- prerelease: false
79
- version_requirements: *28858464
63
+ version: 0.9.9
80
64
  - !ruby/object:Gem::Dependency
81
65
  name: bones
82
- requirement: &28857900 !ruby/object:Gem::Requirement
66
+ requirement: !ruby/object:Gem::Requirement
83
67
  none: false
84
68
  requirements:
85
69
  - - ! '>='
86
70
  - !ruby/object:Gem::Version
87
- version: 3.7.1
71
+ version: 3.8.0
88
72
  type: :development
89
73
  prerelease: false
90
- version_requirements: *28857900
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: 3.8.0
91
80
  description: ! 'Roo can access the contents of various spreadsheet files. It can handle
92
81
 
93
82
  * Openoffice
@@ -107,108 +96,148 @@ executables:
107
96
  extensions: []
108
97
  extra_rdoc_files:
109
98
  - History.txt
110
- - README.txt
99
+ - License.txt
100
+ - Manifest.txt
111
101
  - bin/roo
112
- - lib/roo/.csv.rb.swp
113
- - test/no_spreadsheet_file.txt
102
+ - test/files/no_spreadsheet_file.txt
103
+ - website/index.txt
114
104
  files:
105
+ - .gitignore
106
+ - Gemfile
107
+ - Gemfile.lock
115
108
  - History.txt
116
- - README.txt
109
+ - License.txt
110
+ - Manifest.txt
111
+ - README.markdown
117
112
  - Rakefile
118
113
  - TODO
119
114
  - bin/roo
115
+ - examples/roo_soap_client.rb
116
+ - examples/roo_soap_server.rb
117
+ - examples/write_me.rb
120
118
  - lib/roo.rb
121
- - lib/roo/.csv.rb.swp
122
119
  - lib/roo/csv.rb
123
120
  - lib/roo/excel.rb
121
+ - lib/roo/excel2003xml.rb
124
122
  - lib/roo/excelx.rb
125
123
  - lib/roo/generic_spreadsheet.rb
126
124
  - lib/roo/google.rb
127
125
  - lib/roo/openoffice.rb
128
126
  - lib/roo/roo_rails_helper.rb
127
+ - lib/roo/worksheet.rb
129
128
  - rm_sub_test.rb
130
129
  - rm_test.rb
131
- - test/1900_base.xls
132
- - test/1904_base.xls
133
- - test/Bibelbund.csv
134
- - test/Bibelbund.ods
135
- - test/Bibelbund.xls
136
- - test/Bibelbund.xlsx
137
- - test/Bibelbund1.ods
138
- - test/Pfand_from_windows_phone.xlsx
130
+ - roo.gemspec
131
+ - scripts/txt2html
139
132
  - test/all_ss.rb
140
- - test/bbu.ods
141
- - test/bbu.xls
142
- - test/bbu.xlsx
143
- - test/bode-v1.ods.zip
144
- - test/bode-v1.xls.zip
145
- - test/boolean.ods
146
- - test/boolean.xls
147
- - test/boolean.xlsx
148
- - test/borders.ods
149
- - test/borders.xls
150
- - test/borders.xlsx
151
- - test/bug-row-column-fixnum-float.xls
152
- - test/comments.ods
153
- - test/comments.xls
154
- - test/comments.xlsx
155
- - test/csvtypes.csv
156
- - test/datetime.ods
157
- - test/datetime.xls
158
- - test/datetime.xlsx
159
- - test/datetime_floatconv.xls
160
- - test/dreimalvier.ods
161
- - test/emptysheets.ods
162
- - test/emptysheets.xls
163
- - test/emptysheets.xlsx
164
- - test/false_encoding.xls
165
- - test/formula.ods
166
- - test/formula.xls
167
- - test/formula.xlsx
168
- - test/formula_string_error.xlsx
169
- - test/html-escape.ods
170
- - test/matrix.ods
171
- - test/matrix.xls
172
- - test/named_cells.ods
173
- - test/named_cells.xls
174
- - test/named_cells.xlsx
175
- - test/no_spreadsheet_file.txt
176
- - test/numbers1.csv
177
- - test/numbers1.ods
178
- - test/numbers1.xls
179
- - test/numbers1.xlsx
180
- - test/only_one_sheet.ods
181
- - test/only_one_sheet.xls
182
- - test/only_one_sheet.xlsx
183
- - test/paragraph.ods
184
- - test/paragraph.xls
185
- - test/paragraph.xlsx
186
- - test/prova.xls
187
- - test/ric.ods
188
- - test/simple_spreadsheet.ods
189
- - test/simple_spreadsheet.xls
190
- - test/simple_spreadsheet.xlsx
191
- - test/simple_spreadsheet_from_italo.ods
192
- - test/simple_spreadsheet_from_italo.xls
193
- - test/so_datetime.csv
194
- - test/style.ods
195
- - test/style.xls
196
- - test/style.xlsx
133
+ - test/files/1900_base.xls
134
+ - test/files/1904_base.xls
135
+ - test/files/Bibelbund.csv
136
+ - test/files/Bibelbund.ods
137
+ - test/files/Bibelbund.xls
138
+ - test/files/Bibelbund.xlsx
139
+ - test/files/Bibelbund.xml
140
+ - test/files/Bibelbund1.ods
141
+ - test/files/Pfand_from_windows_phone.xlsx
142
+ - test/files/bad_excel_date.xls
143
+ - test/files/bbu.ods
144
+ - test/files/bbu.xls
145
+ - test/files/bbu.xlsx
146
+ - test/files/bbu.xml
147
+ - test/files/bode-v1.ods.zip
148
+ - test/files/bode-v1.xls.zip
149
+ - test/files/boolean.ods
150
+ - test/files/boolean.xls
151
+ - test/files/boolean.xlsx
152
+ - test/files/boolean.xml
153
+ - test/files/borders.ods
154
+ - test/files/borders.xls
155
+ - test/files/borders.xlsx
156
+ - test/files/borders.xml
157
+ - test/files/bug-row-column-fixnum-float.xls
158
+ - test/files/bug-row-column-fixnum-float.xml
159
+ - test/files/comments.ods
160
+ - test/files/comments.xls
161
+ - test/files/comments.xlsx
162
+ - test/files/csvtypes.csv
163
+ - test/files/datetime.ods
164
+ - test/files/datetime.xls
165
+ - test/files/datetime.xlsx
166
+ - test/files/datetime.xml
167
+ - test/files/datetime_floatconv.xls
168
+ - test/files/datetime_floatconv.xml
169
+ - test/files/dreimalvier.ods
170
+ - test/files/emptysheets.ods
171
+ - test/files/emptysheets.xls
172
+ - test/files/emptysheets.xlsx
173
+ - test/files/emptysheets.xml
174
+ - test/files/excel2003.xml
175
+ - test/files/false_encoding.xls
176
+ - test/files/false_encoding.xml
177
+ - test/files/formula.ods
178
+ - test/files/formula.xls
179
+ - test/files/formula.xlsx
180
+ - test/files/formula.xml
181
+ - test/files/formula_parse_error.xls
182
+ - test/files/formula_parse_error.xml
183
+ - test/files/formula_string_error.xlsx
184
+ - test/files/html-escape.ods
185
+ - test/files/matrix.ods
186
+ - test/files/matrix.xls
187
+ - test/files/named_cells.ods
188
+ - test/files/named_cells.xls
189
+ - test/files/named_cells.xlsx
190
+ - test/files/no_spreadsheet_file.txt
191
+ - test/files/numbers1.csv
192
+ - test/files/numbers1.ods
193
+ - test/files/numbers1.xls
194
+ - test/files/numbers1.xlsx
195
+ - test/files/numbers1.xml
196
+ - test/files/only_one_sheet.ods
197
+ - test/files/only_one_sheet.xls
198
+ - test/files/only_one_sheet.xlsx
199
+ - test/files/only_one_sheet.xml
200
+ - test/files/paragraph.ods
201
+ - test/files/paragraph.xls
202
+ - test/files/paragraph.xlsx
203
+ - test/files/paragraph.xml
204
+ - test/files/prova.xls
205
+ - test/files/ric.ods
206
+ - test/files/simple_spreadsheet.ods
207
+ - test/files/simple_spreadsheet.xls
208
+ - test/files/simple_spreadsheet.xlsx
209
+ - test/files/simple_spreadsheet.xml
210
+ - test/files/simple_spreadsheet_from_italo.ods
211
+ - test/files/simple_spreadsheet_from_italo.xls
212
+ - test/files/simple_spreadsheet_from_italo.xml
213
+ - test/files/so_datetime.csv
214
+ - test/files/style.ods
215
+ - test/files/style.xls
216
+ - test/files/style.xlsx
217
+ - test/files/style.xml
218
+ - test/files/time-test.csv
219
+ - test/files/time-test.ods
220
+ - test/files/time-test.xls
221
+ - test/files/time-test.xlsx
222
+ - test/files/time-test.xml
223
+ - test/files/type_excel.ods
224
+ - test/files/type_excel.xlsx
225
+ - test/files/type_excelx.ods
226
+ - test/files/type_excelx.xls
227
+ - test/files/type_openoffice.xls
228
+ - test/files/type_openoffice.xlsx
229
+ - test/files/whitespace.ods
230
+ - test/files/whitespace.xls
231
+ - test/files/whitespace.xlsx
232
+ - test/files/whitespace.xml
233
+ - test/test_generic_spreadsheet.rb
197
234
  - test/test_helper.rb
198
235
  - test/test_roo.rb
199
- - test/time-test.csv
200
- - test/time-test.ods
201
- - test/time-test.xls
202
- - test/time-test.xlsx
203
- - test/type_excel.ods
204
- - test/type_excel.xlsx
205
- - test/type_excelx.ods
206
- - test/type_excelx.xls
207
- - test/type_openoffice.xls
208
- - test/type_openoffice.xlsx
209
- - test/whitespace.ods
210
- - test/whitespace.xls
211
- - test/whitespace.xlsx
236
+ - website/index.html
237
+ - website/index.txt
238
+ - website/javascripts/rounded_corners_lite.inc.js
239
+ - website/stylesheets/screen.css
240
+ - website/template.rhtml
212
241
  homepage: http://roo.rubyforge.org/
213
242
  licenses: []
214
243
  post_install_message:
@@ -231,10 +260,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
260
  version: '0'
232
261
  requirements: []
233
262
  rubyforge_project: roo
234
- rubygems_version: 1.8.11
263
+ rubygems_version: 1.8.24
235
264
  signing_key:
236
265
  specification_version: 3
237
266
  summary: Roo can access the contents of various spreadsheet files.
238
267
  test_files:
268
+ - test/test_generic_spreadsheet.rb
239
269
  - test/test_helper.rb
240
270
  - test/test_roo.rb
data/README.txt DELETED
@@ -1,110 +0,0 @@
1
- roo
2
- by Thomas Preymesser
3
- http://thopre.wordpress.com
4
-
5
- == DESCRIPTION:
6
-
7
- Roo can access the contents of various spreadsheet files. It can handle
8
- * Openoffice
9
- * Excel
10
- * Google spreadsheets
11
- * Excelx
12
- * Libreoffice
13
- * CSV
14
-
15
-
16
- == FEATURES/PROBLEMS:
17
-
18
- You don't need to have an installation of Openoffice or Excel. All you need is
19
- the spreadsheet file. It's platform independent so you can read an Excel file
20
- under Linux without having to install the MS office suite.
21
-
22
- Roo implements read access for all spreadsheet types and read/write access for
23
- Google spreadsheets.
24
-
25
- Unless the underlying 'spreadsheet' gem supports formulas there is no support
26
- for formulas in Roo for .xls files (you get the result of a formula in such a
27
- file but not the formula itself)
28
-
29
- == SUPPORT ROO DEVELOPMENT:
30
-
31
- If you want to support the further development of the Roo gem, send Bitcoins to <b><code>1KecEuitSFZwx2towBcwbBXmaY5eYjJC9h</code></b>
32
-
33
- == SYNOPSIS:
34
-
35
- require 'rubygems'
36
- require 'roo'
37
-
38
- s = Openoffice.new("myspreadsheet.ods") # creates an Openoffice Spreadsheet instance
39
- s = Excel.new("myspreadsheet.xls") # creates an Excel Spreadsheet instance
40
- s = Google.new("myspreadsheetkey_at_google") # creates an Google Spreadsheet instance
41
- s = Excelx.new("myspreadsheet.xlsx") # creates an Excel Spreadsheet instance for Excel .xlsx files
42
- s = Csv.new("myspreadsheet.csv") # creates an Csv Spreadsheet instance for CSV files
43
-
44
- s.default_sheet = s.sheets.first # first sheet in the spreadsheet file will be used
45
-
46
- # s.sheet is an array which holds the names of the sheets within
47
- # a spreadsheet.
48
- # you can also write
49
- # s.default_sheet = s.sheets[2] or
50
- # s.default_sheet = 'Sheet 3'or
51
- # s.default_sheet = 3 # please note that sheet numbering
52
- # starts with 1 (not 0)
53
- # all these notions above means 'select the third sheet'
54
-
55
- s.cell(1,1) # returns the content of the first row/first cell in the sheet
56
- s.cell('A',1) # same cell
57
- s.cell(1,'A') # same cell
58
- s.cell(1,'A',s.sheets[0]) # same cell
59
-
60
- # almost all methods have an optional argument 'sheet'.
61
- # If this parameter is omitted, the default_sheet will be used.
62
-
63
- s.info # prints infos about the spreadsheet file
64
-
65
- s.first_row # the number of the first row
66
- s.last_row # the number of the last row
67
- s.first_column # the number of the first column
68
- s.last_column # the number of the last column
69
-
70
- # limited font information is available
71
-
72
- s.font(1,1).bold?
73
- s.font(1,1).italic?
74
- s.font(1,1).underline?
75
-
76
-
77
- see http://roo.rubyforge.org for a more complete tutorial
78
-
79
- == REQUIREMENTS:
80
-
81
- All dependent gems will be automatically installed.
82
-
83
- == INSTALL:
84
-
85
- [sudo] gem install roo
86
-
87
- == LICENSE:
88
-
89
- (The MIT License)
90
-
91
- Copyright (c) 2008-2011
92
-
93
- Permission is hereby granted, free of charge, to any person obtaining
94
- a copy of this software and associated documentation files (the
95
- 'Software'), to deal in the Software without restriction, including
96
- without limitation the rights to use, copy, modify, merge, publish,
97
- distribute, sublicense, and/or sell copies of the Software, and to
98
- permit persons to whom the Software is furnished to do so, subject to
99
- the following conditions:
100
-
101
- The above copyright notice and this permission notice shall be
102
- included in all copies or substantial portions of the Software.
103
-
104
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
105
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
106
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
107
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
108
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
109
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
110
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.