roo 0.2.2 → 0.2.3
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.
- data/History.txt +14 -0
- data/Manifest.txt +2 -0
- data/Rakefile +1 -0
- data/lib/roo/excel.rb +26 -23
- data/lib/roo/openoffice.rb +33 -18
- data/lib/roo/version.rb +1 -1
- data/test/numbers1.ods +0 -0
- data/test/numbers1.xls +0 -0
- data/test/test_roo.rb +59 -30
- data/website/index.html +1 -1
- metadata +13 -2
data/History.txt
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
== 0.2.3 2007-06-02
|
2
|
+
* 3 enhancements:
|
3
|
+
* more robust call att Excel#default_sheet= when called with a name
|
4
|
+
* new method empty?
|
5
|
+
* refactoring
|
6
|
+
* 1 bugfix:
|
7
|
+
* bugfix in Excel#celltype
|
8
|
+
* bugfix (running under windows only) in closing the temp file before removing it
|
9
|
+
|
10
|
+
== 0.2.2 2007-06-01
|
11
|
+
* 1 bugfix:
|
12
|
+
* correct pathname for running with windows
|
13
|
+
|
14
|
+
|
1
15
|
== 0.2.2 2007-06-01
|
2
16
|
* 1 bugfix:
|
3
17
|
* incorrect dependencies fixed
|
data/Manifest.txt
CHANGED
data/Rakefile
CHANGED
data/lib/roo/excel.rb
CHANGED
@@ -21,33 +21,29 @@ class Excel < Openoffice
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
+
# sets the working sheet (1,2,3,..)
|
25
|
+
#--
|
24
26
|
# im Excel-Bereich muesste man wahrscheinlich intern mit Nummern arbeiten
|
25
27
|
# von aussen arbeite ich mit (1,2,3... intern wird Index 0,1,2,...
|
26
28
|
# verwendet.
|
29
|
+
|
27
30
|
def default_sheet=(n)
|
31
|
+
unless n.kind_of?(Fixnum)
|
32
|
+
fail ArgumentError.new("Number expected")
|
33
|
+
end
|
28
34
|
@default_sheet = n-1
|
29
35
|
end
|
30
36
|
|
31
37
|
def cell(row,col)
|
32
|
-
|
33
|
-
if row.class == String
|
34
|
-
if col.class == Fixnum
|
35
|
-
# ('A',1):
|
36
|
-
# ('B', 5) -> (5, 2)
|
37
|
-
row, col = col, row
|
38
|
-
else
|
39
|
-
raise FormatError
|
40
|
-
end
|
41
|
-
end
|
42
|
-
if col.class == String
|
43
|
-
col = Openoffice.letter_to_number(col)
|
44
|
-
end
|
45
|
-
#--
|
38
|
+
row,col = normalize(row,col)
|
46
39
|
worksheet = @workbook.worksheet(@default_sheet)
|
47
40
|
skip = 0
|
48
41
|
line = 1
|
49
42
|
worksheet.each(skip) { |row_par|
|
50
43
|
if line == row
|
44
|
+
if row_par == nil
|
45
|
+
return nil
|
46
|
+
end
|
51
47
|
cell = row_par.at(col-1)
|
52
48
|
# p "celltype: "
|
53
49
|
# p cell.type
|
@@ -64,6 +60,7 @@ class Excel < Openoffice
|
|
64
60
|
end
|
65
61
|
|
66
62
|
def celltype(row,col)
|
63
|
+
row,col = normalize(row,col)
|
67
64
|
worksheet = @workbook.worksheet(@default_sheet)
|
68
65
|
skip = 0
|
69
66
|
line = 1
|
@@ -71,10 +68,10 @@ class Excel < Openoffice
|
|
71
68
|
if line == row
|
72
69
|
cell = row_par.at(col-1)
|
73
70
|
case cell.type
|
74
|
-
when :numeric then return
|
71
|
+
when :numeric then return "float"
|
75
72
|
when :text then return "string"
|
76
73
|
when :date then return "date"
|
77
|
-
else return cell.
|
74
|
+
else return cell.type
|
78
75
|
end
|
79
76
|
end
|
80
77
|
line += 1
|
@@ -107,12 +104,18 @@ class Excel < Openoffice
|
|
107
104
|
lr
|
108
105
|
end
|
109
106
|
|
110
|
-
def
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
107
|
+
def empty?(row, col)
|
108
|
+
row,col = normalize(row,col)
|
109
|
+
return true if row < first_row || row > last_row || col < first_column || col > last_column
|
110
|
+
# read_cells unless @cells_read
|
111
|
+
return true unless cell(row, col)
|
112
|
+
# p celltype(row,col)
|
113
|
+
#p cell(row,col)
|
114
|
+
return true if celltype(row, col) == "string" && cell(row, col) == ""
|
115
|
+
#when :text then return cell.to_s('latin1')
|
116
|
+
# p celltype(row,col)
|
117
|
+
# return true if cell(row, col) == ""
|
118
|
+
false
|
116
119
|
end
|
117
120
|
|
118
121
|
private
|
@@ -126,7 +129,7 @@ private
|
|
126
129
|
worksheet.each(skip) { |row_par|
|
127
130
|
if row_par
|
128
131
|
row_par.each_with_index {|cell,i|
|
129
|
-
# nicht
|
132
|
+
# nicht beruecksichtigen, wenn nil und vorher noch nichts war
|
130
133
|
# p cell
|
131
134
|
if !cell
|
132
135
|
# nix
|
data/lib/roo/openoffice.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
|
2
2
|
require 'rubygems'
|
3
3
|
require 'rexml/document'
|
4
|
-
# require 'matrix'
|
5
4
|
require 'fileutils'
|
6
5
|
require 'zip/zipfilesystem'
|
7
6
|
require 'date'
|
@@ -14,17 +13,17 @@ end
|
|
14
13
|
|
15
14
|
class Openoffice
|
16
15
|
|
17
|
-
|
18
16
|
def initialize(filename)
|
19
17
|
@cells_read = false
|
20
18
|
@filename = filename
|
21
19
|
@tmpdir = "oo_"+$$.to_s
|
22
20
|
unless File.exists?(@tmpdir)
|
23
|
-
FileUtils::mkdir(@tmpdir)
|
21
|
+
FileUtils::mkdir(@tmpdir)
|
24
22
|
end
|
25
23
|
extract_content
|
26
|
-
file = File.new(@tmpdir
|
24
|
+
file = File.new(File.join(@tmpdir, "roo_content.xml"))
|
27
25
|
@doc = REXML::Document.new file
|
26
|
+
file.close
|
28
27
|
@cell = Hash.new
|
29
28
|
@cell_type = Hash.new
|
30
29
|
if DateTime.now > Date.new(2007,5,31)
|
@@ -38,25 +37,15 @@ class Openoffice
|
|
38
37
|
# (1,1), (1,'A'), ('A',1), ('a',1) all refers to the
|
39
38
|
# cell at first line, first row
|
40
39
|
def cell(row,col)
|
41
|
-
if row.class == String
|
42
|
-
if col.class == Fixnum
|
43
|
-
# ('A',1):
|
44
|
-
# ('B', 5) -> (5, 2)
|
45
|
-
row, col = col, row
|
46
|
-
else
|
47
|
-
raise FormatError
|
48
|
-
end
|
49
|
-
end
|
50
|
-
if col.class == String
|
51
|
-
col = Openoffice.letter_to_number(col)
|
52
|
-
end
|
53
40
|
read_cells unless @cells_read
|
41
|
+
row,col = normalize(row,col)
|
54
42
|
@cell["#{row},#{col}"]
|
55
43
|
end
|
56
44
|
|
57
45
|
# returns the open-office type of a cell
|
58
46
|
def celltype(row,col)
|
59
47
|
read_cells unless @cells_read
|
48
|
+
row,col = normalize(row,col)
|
60
49
|
@cell_type["#{row},#{col}"]
|
61
50
|
end
|
62
51
|
|
@@ -97,6 +86,8 @@ class Openoffice
|
|
97
86
|
@officeversion
|
98
87
|
end
|
99
88
|
|
89
|
+
# shows the internal representation of all cells
|
90
|
+
# mainly for debugging purposes
|
100
91
|
def to_s
|
101
92
|
read_cells unless @cells_read
|
102
93
|
@cell.inspect
|
@@ -194,7 +185,14 @@ class Openoffice
|
|
194
185
|
n = n.div(26)
|
195
186
|
end
|
196
187
|
letters
|
197
|
-
|
188
|
+
end
|
189
|
+
|
190
|
+
def empty?(row, col)
|
191
|
+
read_cells unless @cells_read
|
192
|
+
return true unless cell(row, col)
|
193
|
+
return true if celltype(row, col) == "string" && cell(row, col).empty?
|
194
|
+
false
|
195
|
+
end
|
198
196
|
|
199
197
|
private
|
200
198
|
|
@@ -310,5 +308,22 @@ private
|
|
310
308
|
end
|
311
309
|
result
|
312
310
|
end
|
313
|
-
|
311
|
+
|
312
|
+
# converts cell coordinate to numeric values of row,col
|
313
|
+
def normalize(row,col)
|
314
|
+
if row.class == String
|
315
|
+
if col.class == Fixnum
|
316
|
+
# ('A',1):
|
317
|
+
# ('B', 5) -> (5, 2)
|
318
|
+
row, col = col, row
|
319
|
+
else
|
320
|
+
raise FormatError
|
321
|
+
end
|
322
|
+
end
|
323
|
+
if col.class == String
|
324
|
+
col = Openoffice.letter_to_number(col)
|
325
|
+
end
|
326
|
+
return row,col
|
327
|
+
end
|
328
|
+
|
314
329
|
end
|
data/lib/roo/version.rb
CHANGED
data/test/numbers1.ods
ADDED
Binary file
|
data/test/numbers1.xls
ADDED
Binary file
|
data/test/test_roo.rb
CHANGED
@@ -11,15 +11,15 @@ class TestRoo < Test::Unit::TestCase
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_sheets
|
14
|
-
oo = Openoffice.new("test
|
14
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
15
15
|
assert_equal ["Tabelle1","Name of Sheet 2","Sheet3"], oo.sheets
|
16
16
|
#--
|
17
|
-
oo = Excel.new("test
|
17
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
18
18
|
assert_equal ["Tabelle1","Name of Sheet 2","Sheet3"], oo.sheets
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_cell
|
22
|
-
oo = Openoffice.new("test
|
22
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
23
23
|
oo.default_sheet = oo.sheets.first
|
24
24
|
assert_equal 1, oo.cell(1,1)
|
25
25
|
assert_equal 2, oo.cell(1,2)
|
@@ -33,6 +33,7 @@ class TestRoo < Test::Unit::TestCase
|
|
33
33
|
assert_equal "test", oo.cell(2,6)
|
34
34
|
assert_equal "string", oo.celltype(2,6)
|
35
35
|
assert_equal 11, oo.cell(2,7)
|
36
|
+
assert_equal "float", oo.celltype(2,7)
|
36
37
|
|
37
38
|
assert_equal 10, oo.cell(4,1)
|
38
39
|
assert_equal 11, oo.cell(4,2)
|
@@ -49,7 +50,7 @@ class TestRoo < Test::Unit::TestCase
|
|
49
50
|
assert_equal "date", oo.celltype(5,1)
|
50
51
|
assert_equal "1961-11-21", oo.cell(5,1)
|
51
52
|
|
52
|
-
oo = Excel.new("test
|
53
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
53
54
|
oo.default_sheet = 1 # oo.sheets.first
|
54
55
|
assert_equal 1, oo.cell(1,1)
|
55
56
|
assert_equal 2, oo.cell(1,2)
|
@@ -63,6 +64,7 @@ class TestRoo < Test::Unit::TestCase
|
|
63
64
|
assert_equal "test", oo.cell(2,6)
|
64
65
|
assert_equal "string", oo.celltype(2,6)
|
65
66
|
assert_equal 11, oo.cell(2,7)
|
67
|
+
assert_equal "float", oo.celltype(2,7)
|
66
68
|
|
67
69
|
assert_equal 10, oo.cell(4,1)
|
68
70
|
assert_equal 11, oo.cell(4,2)
|
@@ -81,7 +83,7 @@ class TestRoo < Test::Unit::TestCase
|
|
81
83
|
end
|
82
84
|
|
83
85
|
def test_cell_address
|
84
|
-
oo = Openoffice.new("test/numbers1.ods")
|
86
|
+
oo = Openoffice.new(File.join("test/numbers1.ods"))
|
85
87
|
oo.default_sheet = oo.sheets.first
|
86
88
|
assert_equal "tata", oo.cell(6,1)
|
87
89
|
assert_equal "tata", oo.cell(6,'A')
|
@@ -98,7 +100,7 @@ class TestRoo < Test::Unit::TestCase
|
|
98
100
|
assert_equal "thisisd9", oo.cell('d',9)
|
99
101
|
assert_equal "thisisa11", oo.cell('a',11)
|
100
102
|
|
101
|
-
oo = Excel.new("test
|
103
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
102
104
|
oo.default_sheet = 1 # oo.sheets.first
|
103
105
|
assert_equal "tata", oo.cell(6,1)
|
104
106
|
assert_equal "tata", oo.cell(6,'A')
|
@@ -120,18 +122,18 @@ class TestRoo < Test::Unit::TestCase
|
|
120
122
|
# please note that "1.0" is returned even if it was created with OpenOffice V. 2.0
|
121
123
|
def test_officeversion
|
122
124
|
#-- OpenOffice
|
123
|
-
oo = Openoffice.new("test
|
125
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
124
126
|
assert_equal "1.0", oo.officeversion
|
125
127
|
#-- Excel
|
126
128
|
if DateTime.now > Date.new(2007,6,15)
|
127
|
-
oo = Excel.new("test
|
129
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
128
130
|
assert_equal "1.0", oo.officeversion
|
129
131
|
end
|
130
132
|
end
|
131
133
|
|
132
134
|
def test_rows
|
133
135
|
#-- OpenOffice
|
134
|
-
oo = Openoffice.new("test
|
136
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
135
137
|
oo.default_sheet = oo.sheets.first
|
136
138
|
assert_equal 41, oo.cell('a',12)
|
137
139
|
assert_equal 42, oo.cell('b',12)
|
@@ -141,7 +143,7 @@ class TestRoo < Test::Unit::TestCase
|
|
141
143
|
assert_equal [41.0,42.0,43.0,44.0,45.0], oo.row(12)
|
142
144
|
if DateTime.now > Date.new(2007,6,17)
|
143
145
|
#-- Excel
|
144
|
-
oo = Excel.new("test
|
146
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
145
147
|
oo.default_sheet = 1 # oo.sheets.first
|
146
148
|
assert_equal 41, oo.cell('a',12)
|
147
149
|
assert_equal 42, oo.cell('b',12)
|
@@ -154,78 +156,78 @@ class TestRoo < Test::Unit::TestCase
|
|
154
156
|
|
155
157
|
def test_last_row
|
156
158
|
#-- OpenOffice
|
157
|
-
oo = Openoffice.new("test
|
159
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
158
160
|
oo.default_sheet = oo.sheets.first
|
159
161
|
assert_equal 18, oo.last_row
|
160
162
|
#-- Excel
|
161
|
-
oo = Excel.new("test
|
163
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
162
164
|
oo.default_sheet = 1 # oo.sheets.first
|
163
165
|
assert_equal 18, oo.last_row
|
164
166
|
end
|
165
167
|
|
166
168
|
def test_last_column
|
167
169
|
#-- OpenOffice
|
168
|
-
oo = Openoffice.new("test
|
170
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
169
171
|
oo.default_sheet = oo.sheets.first
|
170
172
|
assert_equal 7, oo.last_column
|
171
173
|
#-- Excel
|
172
|
-
oo = Excel.new("test
|
174
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
173
175
|
oo.default_sheet = 1 # oo.sheets.first
|
174
176
|
assert_equal 7, oo.last_column
|
175
177
|
end
|
176
178
|
|
177
179
|
def test_last_column_as_letter
|
178
180
|
#-- OpenOffice
|
179
|
-
oo = Openoffice.new("test
|
181
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
180
182
|
oo.default_sheet = oo.sheets.first
|
181
183
|
assert_equal 'G', oo.last_column_as_letter
|
182
184
|
#-- Excel
|
183
|
-
oo = Excel.new("test
|
185
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
184
186
|
oo.default_sheet = 1 # oo.sheets.first
|
185
187
|
assert_equal 'G', oo.last_column_as_letter
|
186
188
|
end
|
187
189
|
|
188
190
|
def test_first_row
|
189
191
|
#-- OpenOffice
|
190
|
-
oo = Openoffice.new("test
|
192
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
191
193
|
oo.default_sheet = oo.sheets.first
|
192
194
|
assert_equal 1, oo.first_row
|
193
195
|
#-- Excel
|
194
|
-
oo = Excel.new("test
|
196
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
195
197
|
oo.default_sheet = 1 # oo.sheets.first
|
196
198
|
assert_equal 1, oo.first_row
|
197
199
|
end
|
198
200
|
|
199
201
|
def test_first_column
|
200
202
|
#-- OpenOffice
|
201
|
-
oo = Openoffice.new("test
|
203
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
202
204
|
oo.default_sheet = oo.sheets.first
|
203
205
|
assert_equal 1, oo.first_column
|
204
206
|
#-- Excel
|
205
|
-
oo = Excel.new("test
|
207
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
206
208
|
oo.default_sheet = 1 # oo.sheets.first
|
207
209
|
assert_equal 1, oo.first_column
|
208
210
|
end
|
209
211
|
|
210
212
|
def test_first_column_as_letter
|
211
213
|
#-- OpenOffice
|
212
|
-
oo = Openoffice.new("test
|
214
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
213
215
|
oo.default_sheet = oo.sheets.first
|
214
216
|
assert_equal 'A', oo.first_column_as_letter
|
215
217
|
#-- Excel
|
216
|
-
oo = Excel.new("test
|
218
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
217
219
|
oo.default_sheet = 1 # oo.sheets.first
|
218
220
|
assert_equal 'A', oo.first_column_as_letter
|
219
221
|
end
|
220
222
|
|
221
223
|
def test_sheetname
|
222
224
|
#-- OpenOffice
|
223
|
-
oo = Openoffice.new("test
|
225
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
224
226
|
oo.default_sheet = "Name of Sheet 2"
|
225
227
|
assert_equal 'I am sheet 2', oo.cell('C',5)
|
226
228
|
if DateTime.now > Date.new(2007,6,16)
|
227
229
|
#-- Excel
|
228
|
-
oo = Excel.new("test
|
230
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
229
231
|
oo.default_sheet = "Name of Sheet 2"
|
230
232
|
assert_equal 'I am sheet 2', oo.cell('C',5)
|
231
233
|
end
|
@@ -233,7 +235,7 @@ class TestRoo < Test::Unit::TestCase
|
|
233
235
|
|
234
236
|
def test_boundaries
|
235
237
|
#-- OpenOffice
|
236
|
-
oo = Openoffice.new("test
|
238
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
237
239
|
oo.default_sheet = "Name of Sheet 2"
|
238
240
|
assert_equal 2, oo.first_column
|
239
241
|
assert_equal 'B', oo.first_column_as_letter
|
@@ -242,9 +244,8 @@ class TestRoo < Test::Unit::TestCase
|
|
242
244
|
assert_equal 14, oo.last_row
|
243
245
|
assert_equal 'E', oo.first_row_as_letter
|
244
246
|
assert_equal 'N', oo.last_row_as_letter
|
245
|
-
assert_equal 'N', oo.last_row.as_letter
|
246
247
|
#-- Excel
|
247
|
-
oo = Excel.new("test
|
248
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
248
249
|
oo.default_sheet = 2 # "Name of Sheet 2"
|
249
250
|
assert_equal 2, oo.first_column
|
250
251
|
assert_equal 'B', oo.first_column_as_letter
|
@@ -253,12 +254,11 @@ class TestRoo < Test::Unit::TestCase
|
|
253
254
|
assert_equal 14, oo.last_row
|
254
255
|
assert_equal 'E', oo.first_row_as_letter
|
255
256
|
assert_equal 'N', oo.last_row_as_letter
|
256
|
-
assert_equal 'N', oo.last_row.as_letter
|
257
257
|
end
|
258
258
|
|
259
259
|
def test_multiple_letters
|
260
260
|
#-- OpenOffice
|
261
|
-
oo = Openoffice.new("test
|
261
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
262
262
|
oo.default_sheet = "Sheet3"
|
263
263
|
assert_equal "i am AA", oo.cell('AA',1)
|
264
264
|
assert_equal "i am AB", oo.cell('AB',1)
|
@@ -266,7 +266,7 @@ class TestRoo < Test::Unit::TestCase
|
|
266
266
|
assert_equal 'BA', oo.last_column_as_letter
|
267
267
|
assert_equal "i am BA", oo.cell(1,'BA')
|
268
268
|
#-- Excel
|
269
|
-
oo = Excel.new("test
|
269
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
270
270
|
oo.default_sheet = 3 # "Sheet3"
|
271
271
|
assert_equal "i am AA", oo.cell('AA',1)
|
272
272
|
assert_equal "i am AB", oo.cell('AB',1)
|
@@ -275,4 +275,33 @@ class TestRoo < Test::Unit::TestCase
|
|
275
275
|
assert_equal "i am BA", oo.cell(1,'BA')
|
276
276
|
end
|
277
277
|
|
278
|
+
def test_setting_cell
|
279
|
+
assert true
|
280
|
+
end
|
281
|
+
|
282
|
+
def test_argument_error
|
283
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
284
|
+
assert_raise(ArgumentError) {
|
285
|
+
oo.default_sheet = "first sheet"
|
286
|
+
}
|
287
|
+
assert_nothing_raised(ArgumentError) {
|
288
|
+
oo.default_sheet = 1
|
289
|
+
}
|
290
|
+
end
|
291
|
+
|
292
|
+
def test_empty_eh
|
293
|
+
#-- OpenOffice
|
294
|
+
oo = Openoffice.new(File.join("test","numbers1.ods"))
|
295
|
+
oo.default_sheet = oo.sheets.first
|
296
|
+
assert oo.empty?('a',14)
|
297
|
+
assert ! oo.empty?('a',15)
|
298
|
+
assert oo.empty?('a',20)
|
299
|
+
#-- Excel
|
300
|
+
oo = Excel.new(File.join("test","numbers1.xls"))
|
301
|
+
oo.default_sheet = 1
|
302
|
+
assert oo.empty?('a',14)
|
303
|
+
assert ! oo.empty?('a',15)
|
304
|
+
assert oo.empty?('a',20)
|
305
|
+
|
306
|
+
end
|
278
307
|
end
|
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>roo</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/roo"; return false'>
|
35
35
|
Get Version
|
36
|
-
<a href="http://rubyforge.org/projects/roo" class="numbers">0.2.
|
36
|
+
<a href="http://rubyforge.org/projects/roo" class="numbers">0.2.3</a>
|
37
37
|
</div>
|
38
38
|
<h2>What</h2>
|
39
39
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: roo
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.2.
|
7
|
-
date: 2007-06-
|
6
|
+
version: 0.2.3
|
7
|
+
date: 2007-06-02 00:00:00 +02:00
|
8
8
|
summary: roo can access the contents of OpenOffice-Spreadsheets
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -42,6 +42,8 @@ files:
|
|
42
42
|
- setup.rb
|
43
43
|
- test/test_helper.rb
|
44
44
|
- test/test_roo.rb
|
45
|
+
- test/numbers1.ods
|
46
|
+
- test/numbers1.xls
|
45
47
|
- website/index.html
|
46
48
|
- website/index.txt
|
47
49
|
- website/javascripts/rounded_corners_lite.inc.js
|
@@ -75,3 +77,12 @@ dependencies:
|
|
75
77
|
- !ruby/object:Gem::Version
|
76
78
|
version: 0.5.1.1
|
77
79
|
version:
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: rubyzip
|
82
|
+
version_requirement:
|
83
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 0.9.1
|
88
|
+
version:
|