roo 1.10.1 → 1.10.2

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 (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.