roo 1.10.3 → 1.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/{History.txt → CHANGELOG} +12 -0
- data/Gemfile +14 -5
- data/Gemfile.lock +23 -16
- data/{License.txt → LICENSE} +1 -1
- data/Rakefile +20 -31
- data/VERSION +1 -0
- data/examples/roo_soap_server.rb +0 -1
- data/examples/write_me.rb +1 -2
- data/lib/roo/csv.rb +0 -1
- data/lib/roo/excel.rb +6 -8
- data/lib/roo/excelx.rb +62 -87
- data/lib/roo/openoffice.rb +0 -1
- data/roo.gemspec +165 -20
- data/spec/lib/roo/excelx/format_spec.rb +48 -0
- data/spec/spec_helper.rb +1 -0
- data/test/log/roo.log +1 -0
- data/{rm_sub_test.rb → test/rm_sub_test.rb} +0 -1
- data/test/rm_test.rb +7 -0
- data/test/test_helper.rb +0 -1
- metadata +149 -68
- data/.gitignore +0 -2
- data/Manifest.txt +0 -68
- data/bin/roo +0 -33
- data/rm_test.rb +0 -20
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6a137da1f2f8abe53bfecb31c66214ad718ed1d5
|
4
|
+
data.tar.gz: eb673d0d76d85427481784129cf3772e4f333533
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 74da68c83c1614e5df668bcf6572955431b789f9cb4d372807d5aa74b1d213049dfbb5548d16ae17492f7eead90be8b6bd64eb6933869e2989a3dfb7cb827994
|
7
|
+
data.tar.gz: 12492ce0a404dc3ab896e9419e13eed72472c02c8dad09c0adce16c7b795b71a148b5eaba76182b572802d0a328ef2035c34b51c4ba1bba29f9d6087dd1e7dbe
|
data/{History.txt → CHANGELOG}
RENAMED
@@ -1,3 +1,15 @@
|
|
1
|
+
== 1.11.0 2013-03-14
|
2
|
+
|
3
|
+
* 3 enhancements
|
4
|
+
* Support ruby 2.0.0 by replacing Iconv with String#encode
|
5
|
+
https://github.com/Empact/roo/pull/19
|
6
|
+
* Excelx: Loosen the format detection rules such that more are
|
7
|
+
successfully detected https://github.com/Empact/roo/pull/20
|
8
|
+
* Delete the roo binary, which was useless and not declared in the gemspec
|
9
|
+
|
10
|
+
* 1 change
|
11
|
+
* Drop support for ruby 1.8.x or lower. Required in order to easily support 2.0.0.
|
12
|
+
|
1
13
|
== 1.10.3 2013-03-03
|
2
14
|
|
3
15
|
* 1 bugfix
|
data/Gemfile
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
source 'http://rubygems.org'
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
gem 'spreadsheet', '> 0.6.4'
|
4
|
+
gem 'nokogiri'
|
5
|
+
gem 'rubyzip'
|
6
|
+
# gem 'google-spreadsheet-ruby'
|
5
7
|
|
6
|
-
|
7
|
-
gem '
|
8
|
-
|
8
|
+
group :development do
|
9
|
+
gem 'jeweler'
|
10
|
+
end
|
11
|
+
|
12
|
+
group :test do
|
13
|
+
# additional testing libs
|
14
|
+
gem 'webmock'
|
15
|
+
gem 'shoulda'
|
16
|
+
gem 'rspec'
|
17
|
+
end
|
data/Gemfile.lock
CHANGED
@@ -1,24 +1,28 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
roo (1.10.3)
|
5
|
-
nokogiri (>= 1.4.0)
|
6
|
-
rubyzip (>= 0.9.9)
|
7
|
-
spreadsheet (> 0.6.4)
|
8
|
-
|
9
1
|
GEM
|
10
2
|
remote: http://rubygems.org/
|
11
3
|
specs:
|
12
4
|
addressable (2.3.2)
|
13
|
-
bones (3.8.0)
|
14
|
-
little-plugger (~> 1.1.3)
|
15
|
-
loquacious (~> 1.9.1)
|
16
|
-
rake (>= 0.8.7)
|
17
5
|
crack (0.3.1)
|
18
|
-
|
19
|
-
|
6
|
+
diff-lcs (1.2.1)
|
7
|
+
git (1.2.5)
|
8
|
+
jeweler (1.8.3)
|
9
|
+
bundler (~> 1.0)
|
10
|
+
git (>= 1.2.5)
|
11
|
+
rake
|
12
|
+
rdoc
|
13
|
+
json (1.7.7)
|
20
14
|
nokogiri (1.5.6)
|
21
15
|
rake (0.9.2.2)
|
16
|
+
rdoc (3.12.2)
|
17
|
+
json (~> 1.4)
|
18
|
+
rspec (2.13.0)
|
19
|
+
rspec-core (~> 2.13.0)
|
20
|
+
rspec-expectations (~> 2.13.0)
|
21
|
+
rspec-mocks (~> 2.13.0)
|
22
|
+
rspec-core (2.13.1)
|
23
|
+
rspec-expectations (2.13.0)
|
24
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
25
|
+
rspec-mocks (2.13.0)
|
22
26
|
ruby-ole (1.2.11.6)
|
23
27
|
rubyzip (0.9.9)
|
24
28
|
shoulda (3.0.1)
|
@@ -37,7 +41,10 @@ PLATFORMS
|
|
37
41
|
ruby
|
38
42
|
|
39
43
|
DEPENDENCIES
|
40
|
-
|
41
|
-
|
44
|
+
jeweler
|
45
|
+
nokogiri
|
46
|
+
rspec
|
47
|
+
rubyzip
|
42
48
|
shoulda
|
49
|
+
spreadsheet (> 0.6.4)
|
43
50
|
webmock
|
data/{License.txt → LICENSE}
RENAMED
data/Rakefile
CHANGED
@@ -1,35 +1,24 @@
|
|
1
|
-
|
2
|
-
require 'bones'
|
3
|
-
rescue LoadError
|
4
|
-
puts '### Please install the "bones" gem ###'
|
5
|
-
end
|
1
|
+
require 'jeweler'
|
6
2
|
|
7
|
-
|
8
|
-
|
3
|
+
Jeweler::Tasks.new do |gem|
|
4
|
+
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
5
|
+
gem.name = "roo"
|
6
|
+
gem.summary = "Roo can access the contents of various spreadsheet files."
|
7
|
+
gem.description = "Roo can access the contents of various spreadsheet files. It can handle\n* Openoffice\n* Excel\n* Google spreadsheets\n* Excelx\n* Libreoffice\n* CSV"
|
8
|
+
gem.email = "ruby.ruby.ruby.roo@gmail.com"
|
9
|
+
gem.homepage = "http://github.com/Empact/roo"
|
10
|
+
gem.authors = ['Thomas Preymesser', 'Hugh McGowan', 'Ben Woosley']
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
+
gem.license = 'MIT'
|
13
|
+
gem.rubyforge_project = 'roo'
|
14
|
+
gem.required_ruby_version = '>= 1.9.0'
|
12
15
|
|
13
|
-
|
14
|
-
|
15
|
-
authors 'Thomas Preymesser', 'Hugh McGowan', 'Ben Woosley'
|
16
|
-
email 'thopre@gmail.com'
|
17
|
-
summary "Roo can access the contents of various spreadsheet files."
|
18
|
-
description "Roo can access the contents of various spreadsheet files. It can handle\n* Openoffice\n* Excel\n* Google spreadsheets\n* Excelx\n* Libreoffice\n* CSV"
|
19
|
-
url 'http://roo.rubyforge.org/'
|
20
|
-
version Roo::VERSION
|
21
|
-
depend_on 'spreadsheet', '> 0.6.4'
|
22
|
-
#--
|
23
|
-
# rel. 0.6.4 causes an invalid Date error if we
|
24
|
-
# have a datetime value of 2006-02-02 10:00:00
|
25
|
-
#++
|
26
|
-
depend_on 'nokogiri' #, '>= 0.0.1'
|
27
|
-
#TODO: brauchen wir das noch? depend_on 'gimite-google-spreadsheet-ruby','>= 0.0.5'
|
28
|
-
#depend_on 'febeling-rubyzip','>= 0.9.2' # meine aktuelle Version
|
29
|
-
#TODO: warum brauchen wir das? es lief doch auch vorher ohne dieses spezielle gem
|
30
|
-
depend_on 'rubyzip' # rubyzip wird benoetigt
|
31
|
-
# depend_on 'google-spreadsheet-ruby'
|
32
|
-
# depend_on 'choice'
|
33
|
-
}
|
16
|
+
gem.test_files = FileList["{spec,test}/**/*.*"]
|
17
|
+
end
|
34
18
|
|
35
|
-
|
19
|
+
require 'rake/testtask'
|
20
|
+
Rake::TestTask.new do |t|
|
21
|
+
t.libs << "test"
|
22
|
+
t.test_files = FileList['test/test*.rb']
|
23
|
+
t.verbose = true
|
24
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.11.0
|
data/examples/roo_soap_server.rb
CHANGED
data/examples/write_me.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'roo'
|
3
2
|
|
4
3
|
#-- create a new spreadsheet within your google-spreadsheets and paste
|
5
|
-
#-- the 'key' parameter in the spreadsheet URL
|
4
|
+
#-- the 'key' parameter in the spreadsheet URL
|
6
5
|
MAXTRIES = 1000
|
7
6
|
print "what's your name? "
|
8
7
|
my_name = gets.chomp
|
data/lib/roo/csv.rb
CHANGED
data/lib/roo/excel.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'spreadsheet'
|
3
|
-
require 'iconv'
|
4
2
|
#require 'lib/roo/generic_spreadsheet'
|
5
3
|
#require 'parseexcel'
|
6
4
|
CHARGUESS =
|
@@ -64,7 +62,7 @@ class Roo::Excel < Roo::GenericSpreadsheet
|
|
64
62
|
return Date.new(yyyy.to_i,mm.to_i,dd.to_i)
|
65
63
|
end
|
66
64
|
if celltype(row,col,sheet) == :string
|
67
|
-
return
|
65
|
+
return platform_specific_encoding(@cell[sheet][[row,col]])
|
68
66
|
else
|
69
67
|
if @cell[sheet] and @cell[sheet][[row,col]]
|
70
68
|
return @cell[sheet][[row,col]]
|
@@ -145,19 +143,19 @@ class Roo::Excel < Roo::GenericSpreadsheet
|
|
145
143
|
def normalize_string(value)
|
146
144
|
value = every_second_null?(value) ? remove_every_second_null(value) : value
|
147
145
|
if CHARGUESS && encoding = CharGuess::guess(value)
|
148
|
-
|
146
|
+
encoding.encode Encoding::UTF_8
|
149
147
|
else
|
150
|
-
|
148
|
+
platform_specific_encoding(value)
|
151
149
|
end
|
152
150
|
end
|
153
151
|
|
154
|
-
def
|
152
|
+
def platform_specific_encoding(value)
|
155
153
|
result =
|
156
154
|
case RUBY_PLATFORM.downcase
|
157
155
|
when /darwin|solaris/
|
158
|
-
|
156
|
+
value.encode Encoding::UTF_8
|
159
157
|
when /mswin32/
|
160
|
-
|
158
|
+
value.encode Encoding::ISO_8859_1
|
161
159
|
else
|
162
160
|
value
|
163
161
|
end
|
data/lib/roo/excelx.rb
CHANGED
@@ -1,85 +1,69 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'date'
|
3
|
-
require 'rubygems'
|
4
3
|
require 'nokogiri'
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
class Roo::Excelx < Roo::GenericSpreadsheet
|
6
|
+
module Format
|
7
|
+
EXCEPTIONAL_FORMATS = {
|
8
|
+
'h:mm am/pm' => :date,
|
9
|
+
'h:mm:ss am/pm' => :date,
|
10
|
+
'm/d/yy h:mm' => :date,
|
11
|
+
'#,##0 ;[red](#,##0)' => :float,
|
12
|
+
'#,##0.00;[red](#,##0.00)' => :float
|
13
|
+
}
|
14
|
+
|
15
|
+
STANDARD_FORMATS = {
|
16
|
+
0 => 'General',
|
17
|
+
1 => '0',
|
18
|
+
2 => '0.00',
|
19
|
+
3 => '#,##0',
|
20
|
+
4 => '#,##0.00',
|
21
|
+
9 => '0%',
|
22
|
+
10 => '0.00%',
|
23
|
+
11 => '0.00E+00',
|
24
|
+
12 => '# ?/?',
|
25
|
+
13 => '# ??/??',
|
26
|
+
14 => 'mm-dd-yy',
|
27
|
+
15 => 'd-mmm-yy',
|
28
|
+
16 => 'd-mmm',
|
29
|
+
17 => 'mmm-yy',
|
30
|
+
18 => 'h:mm AM/PM',
|
31
|
+
19 => 'h:mm:ss AM/PM',
|
32
|
+
20 => 'h:mm',
|
33
|
+
21 => 'h:mm:ss',
|
34
|
+
22 => 'm/d/yy h:mm',
|
35
|
+
37 => '#,##0 ;(#,##0)',
|
36
|
+
38 => '#,##0 ;[Red](#,##0)',
|
37
|
+
39 => '#,##0.00;(#,##0.00)',
|
38
|
+
40 => '#,##0.00;[Red](#,##0.00)',
|
39
|
+
45 => 'mm:ss',
|
40
|
+
46 => '[h]:mm:ss',
|
41
|
+
47 => 'mmss.0',
|
42
|
+
48 => '##0.0E+0',
|
43
|
+
49 => '@',
|
44
|
+
}
|
45
|
+
|
46
|
+
def to_type(format)
|
47
|
+
format = format.to_s.downcase
|
48
|
+
if type = EXCEPTIONAL_FORMATS[format]
|
49
|
+
type
|
50
|
+
elsif format.include?('d') || format.include?('y')
|
51
|
+
if format.include?('h') || format.include?('s')
|
52
|
+
:datetime
|
53
|
+
else
|
54
|
+
:date
|
55
|
+
end
|
56
|
+
elsif format.include?('h') || format.include?('s')
|
57
|
+
:time
|
58
|
+
elsif format.include?('%')
|
59
|
+
:percentage
|
60
|
+
else
|
61
|
+
:float
|
62
|
+
end
|
10
63
|
end
|
11
|
-
end
|
12
|
-
end
|
13
64
|
|
14
|
-
|
15
|
-
|
16
|
-
'General' => :float,
|
17
|
-
'0' => :float,
|
18
|
-
'0.00' => :float,
|
19
|
-
'#,##0' => :float,
|
20
|
-
'#,##0.00' => :float,
|
21
|
-
'0%' => :percentage,
|
22
|
-
'0.00%' => :percentage,
|
23
|
-
'0.00E+00' => :float,
|
24
|
-
'# ?/?' => :float, #??? TODO:
|
25
|
-
'# ??/??' => :float, #??? TODO:
|
26
|
-
'mm-dd-yy' => :date,
|
27
|
-
'd-mmm-yy' => :date,
|
28
|
-
'd-mmm' => :date,
|
29
|
-
'mmm-yy' => :date,
|
30
|
-
'h:mm AM/PM' => :date,
|
31
|
-
'h:mm:ss AM/PM' => :date,
|
32
|
-
'h:mm' => :time,
|
33
|
-
'h:mm:ss' => :time,
|
34
|
-
'm/d/yy h:mm' => :date,
|
35
|
-
'#,##0 ;(#,##0)' => :float,
|
36
|
-
'#,##0 ;[Red](#,##0)' => :float,
|
37
|
-
'#,##0.00;(#,##0.00)' => :float,
|
38
|
-
'#,##0.00;[Red](#,##0.00)' => :float,
|
39
|
-
'mm:ss' => :time,
|
40
|
-
'[h]:mm:ss' => :time,
|
41
|
-
'mmss.0' => :time,
|
42
|
-
'##0.0E+0' => :float,
|
43
|
-
'@' => :float,
|
44
|
-
#-- zusaetzliche Formate, die nicht standardmaessig definiert sind:
|
45
|
-
"yyyy\\-mm\\-dd" => :date,
|
46
|
-
'dd/mm/yy' => :date,
|
47
|
-
'hh:mm:ss' => :time,
|
48
|
-
"dd/mm/yy\\ hh:mm" => :datetime,
|
49
|
-
'dd/mmm/yy' => :date, # 2011-05-21
|
50
|
-
'yyyy-mm-dd' => :date, # 2011-09-16
|
51
|
-
# was used in a spreadsheet file from a windows phone
|
52
|
-
}
|
53
|
-
STANDARD_FORMATS = {
|
54
|
-
0 => 'General',
|
55
|
-
1 => '0',
|
56
|
-
2 => '0.00',
|
57
|
-
3 => '#,##0',
|
58
|
-
4 => '#,##0.00',
|
59
|
-
9 => '0%',
|
60
|
-
10 => '0.00%',
|
61
|
-
11 => '0.00E+00',
|
62
|
-
12 => '# ?/?',
|
63
|
-
13 => '# ??/??',
|
64
|
-
14 => 'mm-dd-yy',
|
65
|
-
15 => 'd-mmm-yy',
|
66
|
-
16 => 'd-mmm',
|
67
|
-
17 => 'mmm-yy',
|
68
|
-
18 => 'h:mm AM/PM',
|
69
|
-
19 => 'h:mm:ss AM/PM',
|
70
|
-
20 => 'h:mm',
|
71
|
-
21 => 'h:mm:ss',
|
72
|
-
22 => 'm/d/yy h:mm',
|
73
|
-
37 => '#,##0 ;(#,##0)',
|
74
|
-
38 => '#,##0 ;[Red](#,##0)',
|
75
|
-
39 => '#,##0.00;(#,##0.00)',
|
76
|
-
40 => '#,##0.00;[Red](#,##0.00)',
|
77
|
-
45 => 'mm:ss',
|
78
|
-
46 => '[h]:mm:ss',
|
79
|
-
47 => 'mmss.0',
|
80
|
-
48 => '##0.0E+0',
|
81
|
-
49 => '@',
|
82
|
-
}
|
65
|
+
module_function :to_type
|
66
|
+
end
|
83
67
|
|
84
68
|
# initialization and opening of a spreadsheet file
|
85
69
|
# values for packed: :zip
|
@@ -400,15 +384,6 @@ class Roo::Excelx < Roo::GenericSpreadsheet
|
|
400
384
|
@s_attribute[sheet][key] = s_attribute
|
401
385
|
end
|
402
386
|
|
403
|
-
def format2type(format)
|
404
|
-
format = format.to_s # weil von Typ Nokogiri::XML::Attr
|
405
|
-
if FORMATS.has_key? format
|
406
|
-
FORMATS[format]
|
407
|
-
else
|
408
|
-
:float
|
409
|
-
end
|
410
|
-
end
|
411
|
-
|
412
387
|
# read all cells in the selected sheet
|
413
388
|
def read_cells(sheet=nil)
|
414
389
|
sheet ||= @default_sheet
|
@@ -434,7 +409,7 @@ class Roo::Excelx < Roo::GenericSpreadsheet
|
|
434
409
|
# 2011-09-15 END
|
435
410
|
else
|
436
411
|
format = attribute2format(s_attribute)
|
437
|
-
|
412
|
+
Format.to_type(format)
|
438
413
|
end
|
439
414
|
formula = nil
|
440
415
|
c.children.each do |cell|
|
@@ -660,7 +635,7 @@ Datei xl/comments1.xml
|
|
660
635
|
# convert internal excelx attribute to a format
|
661
636
|
def attribute2format(s)
|
662
637
|
id = @cellXfs[s.to_i]
|
663
|
-
@numFmts[id] || STANDARD_FORMATS[id.to_i]
|
638
|
+
@numFmts[id] || Format::STANDARD_FORMATS[id.to_i]
|
664
639
|
end
|
665
640
|
|
666
641
|
end # class
|
data/lib/roo/openoffice.rb
CHANGED
data/roo.gemspec
CHANGED
@@ -1,43 +1,188 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
1
4
|
# -*- encoding: utf-8 -*-
|
2
5
|
|
3
6
|
Gem::Specification.new do |s|
|
4
7
|
s.name = "roo"
|
5
|
-
s.version = "1.
|
8
|
+
s.version = "1.11.0"
|
6
9
|
|
7
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
11
|
s.authors = ["Thomas Preymesser", "Hugh McGowan", "Ben Woosley"]
|
9
|
-
s.date = "2013-03-
|
12
|
+
s.date = "2013-03-14"
|
10
13
|
s.description = "Roo can access the contents of various spreadsheet files. It can handle\n* Openoffice\n* Excel\n* Google spreadsheets\n* Excelx\n* Libreoffice\n* CSV"
|
11
|
-
s.email = "
|
12
|
-
s.
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
s.email = "ruby.ruby.ruby.roo@gmail.com"
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.markdown",
|
18
|
+
"TODO"
|
19
|
+
]
|
20
|
+
s.files = [
|
21
|
+
"CHANGELOG",
|
22
|
+
"Gemfile",
|
23
|
+
"Gemfile.lock",
|
24
|
+
"LICENSE",
|
25
|
+
"README.markdown",
|
26
|
+
"Rakefile",
|
27
|
+
"TODO",
|
28
|
+
"VERSION",
|
29
|
+
"examples/roo_soap_client.rb",
|
30
|
+
"examples/roo_soap_server.rb",
|
31
|
+
"examples/write_me.rb",
|
32
|
+
"lib/roo.rb",
|
33
|
+
"lib/roo/csv.rb",
|
34
|
+
"lib/roo/excel.rb",
|
35
|
+
"lib/roo/excel2003xml.rb",
|
36
|
+
"lib/roo/excelx.rb",
|
37
|
+
"lib/roo/generic_spreadsheet.rb",
|
38
|
+
"lib/roo/google.rb",
|
39
|
+
"lib/roo/openoffice.rb",
|
40
|
+
"lib/roo/roo_rails_helper.rb",
|
41
|
+
"lib/roo/worksheet.rb",
|
42
|
+
"roo.gemspec",
|
43
|
+
"scripts/txt2html",
|
44
|
+
"spec/lib/roo/excelx/format_spec.rb",
|
45
|
+
"spec/spec_helper.rb",
|
46
|
+
"test/all_ss.rb",
|
47
|
+
"test/files/1900_base.xls",
|
48
|
+
"test/files/1904_base.xls",
|
49
|
+
"test/files/Bibelbund.csv",
|
50
|
+
"test/files/Bibelbund.ods",
|
51
|
+
"test/files/Bibelbund.xls",
|
52
|
+
"test/files/Bibelbund.xlsx",
|
53
|
+
"test/files/Bibelbund.xml",
|
54
|
+
"test/files/Bibelbund1.ods",
|
55
|
+
"test/files/Pfand_from_windows_phone.xlsx",
|
56
|
+
"test/files/bad_excel_date.xls",
|
57
|
+
"test/files/bbu.ods",
|
58
|
+
"test/files/bbu.xls",
|
59
|
+
"test/files/bbu.xlsx",
|
60
|
+
"test/files/bbu.xml",
|
61
|
+
"test/files/bode-v1.ods.zip",
|
62
|
+
"test/files/bode-v1.xls.zip",
|
63
|
+
"test/files/boolean.ods",
|
64
|
+
"test/files/boolean.xls",
|
65
|
+
"test/files/boolean.xlsx",
|
66
|
+
"test/files/boolean.xml",
|
67
|
+
"test/files/borders.ods",
|
68
|
+
"test/files/borders.xls",
|
69
|
+
"test/files/borders.xlsx",
|
70
|
+
"test/files/borders.xml",
|
71
|
+
"test/files/bug-row-column-fixnum-float.xls",
|
72
|
+
"test/files/bug-row-column-fixnum-float.xml",
|
73
|
+
"test/files/comments.ods",
|
74
|
+
"test/files/comments.xls",
|
75
|
+
"test/files/comments.xlsx",
|
76
|
+
"test/files/csvtypes.csv",
|
77
|
+
"test/files/datetime.ods",
|
78
|
+
"test/files/datetime.xls",
|
79
|
+
"test/files/datetime.xlsx",
|
80
|
+
"test/files/datetime.xml",
|
81
|
+
"test/files/datetime_floatconv.xls",
|
82
|
+
"test/files/datetime_floatconv.xml",
|
83
|
+
"test/files/dreimalvier.ods",
|
84
|
+
"test/files/emptysheets.ods",
|
85
|
+
"test/files/emptysheets.xls",
|
86
|
+
"test/files/emptysheets.xlsx",
|
87
|
+
"test/files/emptysheets.xml",
|
88
|
+
"test/files/excel2003.xml",
|
89
|
+
"test/files/false_encoding.xls",
|
90
|
+
"test/files/false_encoding.xml",
|
91
|
+
"test/files/formula.ods",
|
92
|
+
"test/files/formula.xls",
|
93
|
+
"test/files/formula.xlsx",
|
94
|
+
"test/files/formula.xml",
|
95
|
+
"test/files/formula_parse_error.xls",
|
96
|
+
"test/files/formula_parse_error.xml",
|
97
|
+
"test/files/formula_string_error.xlsx",
|
98
|
+
"test/files/html-escape.ods",
|
99
|
+
"test/files/matrix.ods",
|
100
|
+
"test/files/matrix.xls",
|
101
|
+
"test/files/named_cells.ods",
|
102
|
+
"test/files/named_cells.xls",
|
103
|
+
"test/files/named_cells.xlsx",
|
104
|
+
"test/files/no_spreadsheet_file.txt",
|
105
|
+
"test/files/numbers1.csv",
|
106
|
+
"test/files/numbers1.ods",
|
107
|
+
"test/files/numbers1.xls",
|
108
|
+
"test/files/numbers1.xlsx",
|
109
|
+
"test/files/numbers1.xml",
|
110
|
+
"test/files/only_one_sheet.ods",
|
111
|
+
"test/files/only_one_sheet.xls",
|
112
|
+
"test/files/only_one_sheet.xlsx",
|
113
|
+
"test/files/only_one_sheet.xml",
|
114
|
+
"test/files/paragraph.ods",
|
115
|
+
"test/files/paragraph.xls",
|
116
|
+
"test/files/paragraph.xlsx",
|
117
|
+
"test/files/paragraph.xml",
|
118
|
+
"test/files/prova.xls",
|
119
|
+
"test/files/ric.ods",
|
120
|
+
"test/files/simple_spreadsheet.ods",
|
121
|
+
"test/files/simple_spreadsheet.xls",
|
122
|
+
"test/files/simple_spreadsheet.xlsx",
|
123
|
+
"test/files/simple_spreadsheet.xml",
|
124
|
+
"test/files/simple_spreadsheet_from_italo.ods",
|
125
|
+
"test/files/simple_spreadsheet_from_italo.xls",
|
126
|
+
"test/files/simple_spreadsheet_from_italo.xml",
|
127
|
+
"test/files/so_datetime.csv",
|
128
|
+
"test/files/style.ods",
|
129
|
+
"test/files/style.xls",
|
130
|
+
"test/files/style.xlsx",
|
131
|
+
"test/files/style.xml",
|
132
|
+
"test/files/time-test.csv",
|
133
|
+
"test/files/time-test.ods",
|
134
|
+
"test/files/time-test.xls",
|
135
|
+
"test/files/time-test.xlsx",
|
136
|
+
"test/files/time-test.xml",
|
137
|
+
"test/files/type_excel.ods",
|
138
|
+
"test/files/type_excel.xlsx",
|
139
|
+
"test/files/type_excelx.ods",
|
140
|
+
"test/files/type_excelx.xls",
|
141
|
+
"test/files/type_openoffice.xls",
|
142
|
+
"test/files/type_openoffice.xlsx",
|
143
|
+
"test/files/whitespace.ods",
|
144
|
+
"test/files/whitespace.xls",
|
145
|
+
"test/files/whitespace.xlsx",
|
146
|
+
"test/files/whitespace.xml",
|
147
|
+
"test/rm_sub_test.rb",
|
148
|
+
"test/rm_test.rb",
|
149
|
+
"test/test_generic_spreadsheet.rb",
|
150
|
+
"test/test_helper.rb",
|
151
|
+
"test/test_roo.rb",
|
152
|
+
"website/index.html",
|
153
|
+
"website/index.txt",
|
154
|
+
"website/javascripts/rounded_corners_lite.inc.js",
|
155
|
+
"website/stylesheets/screen.css",
|
156
|
+
"website/template.rhtml"
|
157
|
+
]
|
158
|
+
s.homepage = "http://github.com/Empact/roo"
|
159
|
+
s.licenses = ["MIT"]
|
17
160
|
s.require_paths = ["lib"]
|
161
|
+
s.required_ruby_version = Gem::Requirement.new(">= 1.9.0")
|
18
162
|
s.rubyforge_project = "roo"
|
19
|
-
s.rubygems_version = "
|
163
|
+
s.rubygems_version = "2.0.0"
|
20
164
|
s.summary = "Roo can access the contents of various spreadsheet files."
|
21
|
-
s.test_files = ["test/test_generic_spreadsheet.rb", "test/test_helper.rb", "test/test_roo.rb"]
|
165
|
+
s.test_files = ["spec/lib/roo/excelx/format_spec.rb", "spec/spec_helper.rb", "test/all_ss.rb", "test/files/1900_base.xls", "test/files/1904_base.xls", "test/files/bad_excel_date.xls", "test/files/bbu.ods", "test/files/bbu.xls", "test/files/bbu.xlsx", "test/files/bbu.xml", "test/files/Bibelbund.csv", "test/files/Bibelbund.ods", "test/files/Bibelbund.xls", "test/files/Bibelbund.xlsx", "test/files/Bibelbund.xml", "test/files/Bibelbund1.ods", "test/files/bode-v1.ods.zip", "test/files/bode-v1.xls.zip", "test/files/boolean.ods", "test/files/boolean.xls", "test/files/boolean.xlsx", "test/files/boolean.xml", "test/files/borders.ods", "test/files/borders.xls", "test/files/borders.xlsx", "test/files/borders.xml", "test/files/bug-row-column-fixnum-float.xls", "test/files/bug-row-column-fixnum-float.xml", "test/files/comments.ods", "test/files/comments.xls", "test/files/comments.xlsx", "test/files/csvtypes.csv", "test/files/datetime.ods", "test/files/datetime.xls", "test/files/datetime.xlsx", "test/files/datetime.xml", "test/files/datetime_floatconv.xls", "test/files/datetime_floatconv.xml", "test/files/dreimalvier.ods", "test/files/emptysheets.ods", "test/files/emptysheets.xls", "test/files/emptysheets.xlsx", "test/files/emptysheets.xml", "test/files/excel2003.xml", "test/files/false_encoding.xls", "test/files/false_encoding.xml", "test/files/formula.ods", "test/files/formula.xls", "test/files/formula.xlsx", "test/files/formula.xml", "test/files/formula_parse_error.xls", "test/files/formula_parse_error.xml", "test/files/formula_string_error.xlsx", "test/files/html-escape.ods", "test/files/matrix.ods", "test/files/matrix.xls", "test/files/named_cells.ods", "test/files/named_cells.xls", "test/files/named_cells.xlsx", "test/files/no_spreadsheet_file.txt", "test/files/numbers1.csv", "test/files/numbers1.ods", "test/files/numbers1.xls", "test/files/numbers1.xlsx", "test/files/numbers1.xml", "test/files/only_one_sheet.ods", "test/files/only_one_sheet.xls", "test/files/only_one_sheet.xlsx", "test/files/only_one_sheet.xml", "test/files/paragraph.ods", "test/files/paragraph.xls", "test/files/paragraph.xlsx", "test/files/paragraph.xml", "test/files/Pfand_from_windows_phone.xlsx", "test/files/prova.xls", "test/files/ric.ods", "test/files/simple_spreadsheet.ods", "test/files/simple_spreadsheet.xls", "test/files/simple_spreadsheet.xlsx", "test/files/simple_spreadsheet.xml", "test/files/simple_spreadsheet_from_italo.ods", "test/files/simple_spreadsheet_from_italo.xls", "test/files/simple_spreadsheet_from_italo.xml", "test/files/so_datetime.csv", "test/files/style.ods", "test/files/style.xls", "test/files/style.xlsx", "test/files/style.xml", "test/files/time-test.csv", "test/files/time-test.ods", "test/files/time-test.xls", "test/files/time-test.xlsx", "test/files/time-test.xml", "test/files/type_excel.ods", "test/files/type_excel.xlsx", "test/files/type_excelx.ods", "test/files/type_excelx.xls", "test/files/type_openoffice.xls", "test/files/type_openoffice.xlsx", "test/files/whitespace.ods", "test/files/whitespace.xls", "test/files/whitespace.xlsx", "test/files/whitespace.xml", "test/log/roo.log", "test/rm_sub_test.rb", "test/rm_test.rb", "test/test_generic_spreadsheet.rb", "test/test_helper.rb", "test/test_roo.rb"]
|
22
166
|
|
23
167
|
if s.respond_to? :specification_version then
|
24
|
-
s.specification_version =
|
168
|
+
s.specification_version = 4
|
25
169
|
|
26
170
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
27
171
|
s.add_runtime_dependency(%q<spreadsheet>, ["> 0.6.4"])
|
28
|
-
s.add_runtime_dependency(%q<nokogiri>, [">=
|
29
|
-
s.add_runtime_dependency(%q<rubyzip>, [">= 0
|
30
|
-
s.add_development_dependency(%q<
|
172
|
+
s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
|
173
|
+
s.add_runtime_dependency(%q<rubyzip>, [">= 0"])
|
174
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
31
175
|
else
|
32
176
|
s.add_dependency(%q<spreadsheet>, ["> 0.6.4"])
|
33
|
-
s.add_dependency(%q<nokogiri>, [">=
|
34
|
-
s.add_dependency(%q<rubyzip>, [">= 0
|
35
|
-
s.add_dependency(%q<
|
177
|
+
s.add_dependency(%q<nokogiri>, [">= 0"])
|
178
|
+
s.add_dependency(%q<rubyzip>, [">= 0"])
|
179
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
36
180
|
end
|
37
181
|
else
|
38
182
|
s.add_dependency(%q<spreadsheet>, ["> 0.6.4"])
|
39
|
-
s.add_dependency(%q<nokogiri>, [">=
|
40
|
-
s.add_dependency(%q<rubyzip>, [">= 0
|
41
|
-
s.add_dependency(%q<
|
183
|
+
s.add_dependency(%q<nokogiri>, [">= 0"])
|
184
|
+
s.add_dependency(%q<rubyzip>, [">= 0"])
|
185
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
42
186
|
end
|
43
187
|
end
|
188
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Roo::Excelx::Format do
|
4
|
+
describe '#to_type' do
|
5
|
+
FORMATS = {
|
6
|
+
'General' => :float,
|
7
|
+
'0' => :float,
|
8
|
+
'0.00' => :float,
|
9
|
+
'#,##0' => :float,
|
10
|
+
'#,##0.00' => :float,
|
11
|
+
'0%' => :percentage,
|
12
|
+
'0.00%' => :percentage,
|
13
|
+
'0.00E+00' => :float,
|
14
|
+
'# ?/?' => :float, #??? TODO:
|
15
|
+
'# ??/??' => :float, #??? TODO:
|
16
|
+
'mm-dd-yy' => :date,
|
17
|
+
'd-mmm-yy' => :date,
|
18
|
+
'd-mmm' => :date,
|
19
|
+
'mmm-yy' => :date,
|
20
|
+
'h:mm AM/PM' => :date,
|
21
|
+
'h:mm:ss AM/PM' => :date,
|
22
|
+
'h:mm' => :time,
|
23
|
+
'h:mm:ss' => :time,
|
24
|
+
'm/d/yy h:mm' => :date,
|
25
|
+
'#,##0 ;(#,##0)' => :float,
|
26
|
+
'#,##0 ;[Red](#,##0)' => :float,
|
27
|
+
'#,##0.00;(#,##0.00)' => :float,
|
28
|
+
'#,##0.00;[Red](#,##0.00)' => :float,
|
29
|
+
'mm:ss' => :time,
|
30
|
+
'[h]:mm:ss' => :time,
|
31
|
+
'mmss.0' => :time,
|
32
|
+
'##0.0E+0' => :float,
|
33
|
+
'@' => :float,
|
34
|
+
#-- zusaetzliche Formate, die nicht standardmaessig definiert sind:
|
35
|
+
"yyyy\\-mm\\-dd" => :date,
|
36
|
+
'dd/mm/yy' => :date,
|
37
|
+
'hh:mm:ss' => :time,
|
38
|
+
"dd/mm/yy\\ hh:mm" => :datetime,
|
39
|
+
'dd/mmm/yy' => :date, # 2011-05-21
|
40
|
+
'yyyy-mm-dd' => :date, # 2011-09-16
|
41
|
+
'yyyy-mm-dd;@' => :date
|
42
|
+
}.each do |format, type|
|
43
|
+
it "translates #{format} to #{type}" do
|
44
|
+
Roo::Excelx::Format.to_type(format).should == type
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require File.expand_path("../../lib/roo", __FILE__)
|
data/test/log/roo.log
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# Logfile created on 2013-01-31 03:45:08 -0500 by logger.rb/31641
|
data/test/rm_test.rb
ADDED
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.11.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Thomas Preymesser
|
@@ -11,107 +10,88 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date: 2013-03-
|
13
|
+
date: 2013-03-14 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: spreadsheet
|
18
17
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
18
|
requirements:
|
21
|
-
- -
|
19
|
+
- - '>'
|
22
20
|
- !ruby/object:Gem::Version
|
23
21
|
version: 0.6.4
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
24
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
25
|
requirements:
|
29
|
-
- -
|
26
|
+
- - '>'
|
30
27
|
- !ruby/object:Gem::Version
|
31
28
|
version: 0.6.4
|
32
29
|
- !ruby/object:Gem::Dependency
|
33
30
|
name: nokogiri
|
34
31
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
32
|
requirements:
|
37
|
-
- -
|
33
|
+
- - '>='
|
38
34
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
35
|
+
version: '0'
|
40
36
|
type: :runtime
|
41
37
|
prerelease: false
|
42
38
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
39
|
requirements:
|
45
|
-
- -
|
40
|
+
- - '>='
|
46
41
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
42
|
+
version: '0'
|
48
43
|
- !ruby/object:Gem::Dependency
|
49
44
|
name: rubyzip
|
50
45
|
requirement: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
46
|
requirements:
|
53
|
-
- -
|
47
|
+
- - '>='
|
54
48
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0
|
49
|
+
version: '0'
|
56
50
|
type: :runtime
|
57
51
|
prerelease: false
|
58
52
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
none: false
|
60
53
|
requirements:
|
61
|
-
- -
|
54
|
+
- - '>='
|
62
55
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0
|
56
|
+
version: '0'
|
64
57
|
- !ruby/object:Gem::Dependency
|
65
|
-
name:
|
58
|
+
name: jeweler
|
66
59
|
requirement: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
60
|
requirements:
|
69
|
-
- -
|
61
|
+
- - '>='
|
70
62
|
- !ruby/object:Gem::Version
|
71
|
-
version:
|
63
|
+
version: '0'
|
72
64
|
type: :development
|
73
65
|
prerelease: false
|
74
66
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
67
|
requirements:
|
77
|
-
- -
|
68
|
+
- - '>='
|
78
69
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
80
|
-
description:
|
81
|
-
|
70
|
+
version: '0'
|
71
|
+
description: |-
|
72
|
+
Roo can access the contents of various spreadsheet files. It can handle
|
82
73
|
* Openoffice
|
83
|
-
|
84
74
|
* Excel
|
85
|
-
|
86
75
|
* Google spreadsheets
|
87
|
-
|
88
76
|
* Excelx
|
89
|
-
|
90
77
|
* Libreoffice
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
executables:
|
95
|
-
- roo
|
78
|
+
* CSV
|
79
|
+
email: ruby.ruby.ruby.roo@gmail.com
|
80
|
+
executables: []
|
96
81
|
extensions: []
|
97
82
|
extra_rdoc_files:
|
98
|
-
-
|
99
|
-
-
|
100
|
-
-
|
101
|
-
- bin/roo
|
102
|
-
- test/files/no_spreadsheet_file.txt
|
103
|
-
- website/index.txt
|
83
|
+
- LICENSE
|
84
|
+
- README.markdown
|
85
|
+
- TODO
|
104
86
|
files:
|
105
|
-
-
|
87
|
+
- CHANGELOG
|
106
88
|
- Gemfile
|
107
89
|
- Gemfile.lock
|
108
|
-
-
|
109
|
-
- License.txt
|
110
|
-
- Manifest.txt
|
90
|
+
- LICENSE
|
111
91
|
- README.markdown
|
112
92
|
- Rakefile
|
113
93
|
- TODO
|
114
|
-
-
|
94
|
+
- VERSION
|
115
95
|
- examples/roo_soap_client.rb
|
116
96
|
- examples/roo_soap_server.rb
|
117
97
|
- examples/write_me.rb
|
@@ -125,10 +105,10 @@ files:
|
|
125
105
|
- lib/roo/openoffice.rb
|
126
106
|
- lib/roo/roo_rails_helper.rb
|
127
107
|
- lib/roo/worksheet.rb
|
128
|
-
- rm_sub_test.rb
|
129
|
-
- rm_test.rb
|
130
108
|
- roo.gemspec
|
131
109
|
- scripts/txt2html
|
110
|
+
- spec/lib/roo/excelx/format_spec.rb
|
111
|
+
- spec/spec_helper.rb
|
132
112
|
- test/all_ss.rb
|
133
113
|
- test/files/1900_base.xls
|
134
114
|
- test/files/1904_base.xls
|
@@ -230,6 +210,8 @@ files:
|
|
230
210
|
- test/files/whitespace.xls
|
231
211
|
- test/files/whitespace.xlsx
|
232
212
|
- test/files/whitespace.xml
|
213
|
+
- test/rm_sub_test.rb
|
214
|
+
- test/rm_test.rb
|
233
215
|
- test/test_generic_spreadsheet.rb
|
234
216
|
- test/test_helper.rb
|
235
217
|
- test/test_roo.rb
|
@@ -238,39 +220,138 @@ files:
|
|
238
220
|
- website/javascripts/rounded_corners_lite.inc.js
|
239
221
|
- website/stylesheets/screen.css
|
240
222
|
- website/template.rhtml
|
241
|
-
|
242
|
-
|
223
|
+
- test/log/roo.log
|
224
|
+
homepage: http://github.com/Empact/roo
|
225
|
+
licenses:
|
226
|
+
- MIT
|
227
|
+
metadata: {}
|
243
228
|
post_install_message:
|
244
|
-
rdoc_options:
|
245
|
-
- --main
|
246
|
-
- README.txt
|
229
|
+
rdoc_options: []
|
247
230
|
require_paths:
|
248
231
|
- lib
|
249
232
|
required_ruby_version: !ruby/object:Gem::Requirement
|
250
|
-
none: false
|
251
233
|
requirements:
|
252
|
-
- -
|
234
|
+
- - '>='
|
253
235
|
- !ruby/object:Gem::Version
|
254
|
-
version:
|
255
|
-
segments:
|
256
|
-
- 0
|
257
|
-
hash: 888687487029488184
|
236
|
+
version: 1.9.0
|
258
237
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
259
|
-
none: false
|
260
238
|
requirements:
|
261
|
-
- -
|
239
|
+
- - '>='
|
262
240
|
- !ruby/object:Gem::Version
|
263
241
|
version: '0'
|
264
|
-
segments:
|
265
|
-
- 0
|
266
|
-
hash: 888687487029488184
|
267
242
|
requirements: []
|
268
243
|
rubyforge_project: roo
|
269
|
-
rubygems_version:
|
244
|
+
rubygems_version: 2.0.0
|
270
245
|
signing_key:
|
271
|
-
specification_version:
|
246
|
+
specification_version: 4
|
272
247
|
summary: Roo can access the contents of various spreadsheet files.
|
273
248
|
test_files:
|
249
|
+
- spec/lib/roo/excelx/format_spec.rb
|
250
|
+
- spec/spec_helper.rb
|
251
|
+
- test/all_ss.rb
|
252
|
+
- test/files/1900_base.xls
|
253
|
+
- test/files/1904_base.xls
|
254
|
+
- test/files/bad_excel_date.xls
|
255
|
+
- test/files/bbu.ods
|
256
|
+
- test/files/bbu.xls
|
257
|
+
- test/files/bbu.xlsx
|
258
|
+
- test/files/bbu.xml
|
259
|
+
- test/files/Bibelbund.csv
|
260
|
+
- test/files/Bibelbund.ods
|
261
|
+
- test/files/Bibelbund.xls
|
262
|
+
- test/files/Bibelbund.xlsx
|
263
|
+
- test/files/Bibelbund.xml
|
264
|
+
- test/files/Bibelbund1.ods
|
265
|
+
- test/files/bode-v1.ods.zip
|
266
|
+
- test/files/bode-v1.xls.zip
|
267
|
+
- test/files/boolean.ods
|
268
|
+
- test/files/boolean.xls
|
269
|
+
- test/files/boolean.xlsx
|
270
|
+
- test/files/boolean.xml
|
271
|
+
- test/files/borders.ods
|
272
|
+
- test/files/borders.xls
|
273
|
+
- test/files/borders.xlsx
|
274
|
+
- test/files/borders.xml
|
275
|
+
- test/files/bug-row-column-fixnum-float.xls
|
276
|
+
- test/files/bug-row-column-fixnum-float.xml
|
277
|
+
- test/files/comments.ods
|
278
|
+
- test/files/comments.xls
|
279
|
+
- test/files/comments.xlsx
|
280
|
+
- test/files/csvtypes.csv
|
281
|
+
- test/files/datetime.ods
|
282
|
+
- test/files/datetime.xls
|
283
|
+
- test/files/datetime.xlsx
|
284
|
+
- test/files/datetime.xml
|
285
|
+
- test/files/datetime_floatconv.xls
|
286
|
+
- test/files/datetime_floatconv.xml
|
287
|
+
- test/files/dreimalvier.ods
|
288
|
+
- test/files/emptysheets.ods
|
289
|
+
- test/files/emptysheets.xls
|
290
|
+
- test/files/emptysheets.xlsx
|
291
|
+
- test/files/emptysheets.xml
|
292
|
+
- test/files/excel2003.xml
|
293
|
+
- test/files/false_encoding.xls
|
294
|
+
- test/files/false_encoding.xml
|
295
|
+
- test/files/formula.ods
|
296
|
+
- test/files/formula.xls
|
297
|
+
- test/files/formula.xlsx
|
298
|
+
- test/files/formula.xml
|
299
|
+
- test/files/formula_parse_error.xls
|
300
|
+
- test/files/formula_parse_error.xml
|
301
|
+
- test/files/formula_string_error.xlsx
|
302
|
+
- test/files/html-escape.ods
|
303
|
+
- test/files/matrix.ods
|
304
|
+
- test/files/matrix.xls
|
305
|
+
- test/files/named_cells.ods
|
306
|
+
- test/files/named_cells.xls
|
307
|
+
- test/files/named_cells.xlsx
|
308
|
+
- test/files/no_spreadsheet_file.txt
|
309
|
+
- test/files/numbers1.csv
|
310
|
+
- test/files/numbers1.ods
|
311
|
+
- test/files/numbers1.xls
|
312
|
+
- test/files/numbers1.xlsx
|
313
|
+
- test/files/numbers1.xml
|
314
|
+
- test/files/only_one_sheet.ods
|
315
|
+
- test/files/only_one_sheet.xls
|
316
|
+
- test/files/only_one_sheet.xlsx
|
317
|
+
- test/files/only_one_sheet.xml
|
318
|
+
- test/files/paragraph.ods
|
319
|
+
- test/files/paragraph.xls
|
320
|
+
- test/files/paragraph.xlsx
|
321
|
+
- test/files/paragraph.xml
|
322
|
+
- test/files/Pfand_from_windows_phone.xlsx
|
323
|
+
- test/files/prova.xls
|
324
|
+
- test/files/ric.ods
|
325
|
+
- test/files/simple_spreadsheet.ods
|
326
|
+
- test/files/simple_spreadsheet.xls
|
327
|
+
- test/files/simple_spreadsheet.xlsx
|
328
|
+
- test/files/simple_spreadsheet.xml
|
329
|
+
- test/files/simple_spreadsheet_from_italo.ods
|
330
|
+
- test/files/simple_spreadsheet_from_italo.xls
|
331
|
+
- test/files/simple_spreadsheet_from_italo.xml
|
332
|
+
- test/files/so_datetime.csv
|
333
|
+
- test/files/style.ods
|
334
|
+
- test/files/style.xls
|
335
|
+
- test/files/style.xlsx
|
336
|
+
- test/files/style.xml
|
337
|
+
- test/files/time-test.csv
|
338
|
+
- test/files/time-test.ods
|
339
|
+
- test/files/time-test.xls
|
340
|
+
- test/files/time-test.xlsx
|
341
|
+
- test/files/time-test.xml
|
342
|
+
- test/files/type_excel.ods
|
343
|
+
- test/files/type_excel.xlsx
|
344
|
+
- test/files/type_excelx.ods
|
345
|
+
- test/files/type_excelx.xls
|
346
|
+
- test/files/type_openoffice.xls
|
347
|
+
- test/files/type_openoffice.xlsx
|
348
|
+
- test/files/whitespace.ods
|
349
|
+
- test/files/whitespace.xls
|
350
|
+
- test/files/whitespace.xlsx
|
351
|
+
- test/files/whitespace.xml
|
352
|
+
- test/log/roo.log
|
353
|
+
- test/rm_sub_test.rb
|
354
|
+
- test/rm_test.rb
|
274
355
|
- test/test_generic_spreadsheet.rb
|
275
356
|
- test/test_helper.rb
|
276
357
|
- test/test_roo.rb
|
data/.gitignore
DELETED
data/Manifest.txt
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
History.txt
|
2
|
-
License.txt
|
3
|
-
Manifest.txt
|
4
|
-
README.txt
|
5
|
-
Rakefile
|
6
|
-
base64include.rb
|
7
|
-
examples/roo_soap_server.rb
|
8
|
-
examples/roo_soap_client.rb
|
9
|
-
examples/write_me.rb
|
10
|
-
lib/roo.rb
|
11
|
-
lib/roo/version.rb
|
12
|
-
lib/roo/generic_spreadsheet.rb
|
13
|
-
lib/roo/openoffice.rb
|
14
|
-
lib/roo/excel.rb
|
15
|
-
lib/roo/excelx.rb
|
16
|
-
lib/roo/google.rb
|
17
|
-
lib/roo/roo_rails_helper.rb
|
18
|
-
scripts/txt2html
|
19
|
-
setup.rb
|
20
|
-
test/false_encoding.xls
|
21
|
-
test/Bibelbund1.ods
|
22
|
-
test/Bibelbund.ods
|
23
|
-
test/Bibelbund.xls
|
24
|
-
test/Bibelbund.xlsx
|
25
|
-
test/Bibelbund.csv
|
26
|
-
test/bbu.xls
|
27
|
-
test/bbu.xlsx
|
28
|
-
test/bbu.ods
|
29
|
-
test/no_spreadsheet_file.txt
|
30
|
-
test/simple_spreadsheet.ods
|
31
|
-
test/simple_spreadsheet.xls
|
32
|
-
test/simple_spreadsheet.xlsx
|
33
|
-
test/simple_spreadsheet_from_italo.ods
|
34
|
-
test/simple_spreadsheet_from_italo.xls
|
35
|
-
test/test_helper.rb
|
36
|
-
test/test_roo.rb
|
37
|
-
test/time-test.ods
|
38
|
-
test/time-test.xls
|
39
|
-
test/time-test.xlsx
|
40
|
-
test/time-test.csv
|
41
|
-
test/numbers1.csv
|
42
|
-
test/numbers1_excel.csv
|
43
|
-
test/numbers1.ods
|
44
|
-
test/numbers1.xls
|
45
|
-
test/numbers1.xlsx
|
46
|
-
test/borders.ods
|
47
|
-
test/borders.xls
|
48
|
-
test/borders.xlsx
|
49
|
-
test/formula.ods
|
50
|
-
test/formula.xls
|
51
|
-
test/formula.xlsx
|
52
|
-
test/only_one_sheet.ods
|
53
|
-
test/only_one_sheet.xls
|
54
|
-
test/only_one_sheet.xlsx
|
55
|
-
test/bode-v1.xls.zip
|
56
|
-
test/bode-v1.ods.zip
|
57
|
-
test/ric.ods
|
58
|
-
test/bug-row-column-fixnum-float.xls
|
59
|
-
test/emptysheets.ods
|
60
|
-
test/emptysheets.xls
|
61
|
-
test/datetime.ods
|
62
|
-
test/datetime.xls
|
63
|
-
test/datetime.xlsx
|
64
|
-
website/index.html
|
65
|
-
website/index.txt
|
66
|
-
website/javascripts/rounded_corners_lite.inc.js
|
67
|
-
website/stylesheets/screen.css
|
68
|
-
website/template.rhtml
|
data/bin/roo
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require File.expand_path(
|
4
|
-
File.join(File.dirname(__FILE__), %w[.. lib roo]))
|
5
|
-
require 'rubygems'
|
6
|
-
require 'choice'
|
7
|
-
|
8
|
-
Choice.options do
|
9
|
-
header ''
|
10
|
-
header 'Options:'
|
11
|
-
option :help do
|
12
|
-
long '--help'
|
13
|
-
desc 'Show this message'
|
14
|
-
end
|
15
|
-
option :version do
|
16
|
-
short '-v'
|
17
|
-
long '--version'
|
18
|
-
desc 'Show version'
|
19
|
-
action do
|
20
|
-
puts "Roo v#{Roo::VERSION}"
|
21
|
-
exit
|
22
|
-
end
|
23
|
-
end
|
24
|
-
option :info do
|
25
|
-
short '-i'
|
26
|
-
long '--info <spreadsheetfile>'
|
27
|
-
desc 'Show information about a spreadsheet file'
|
28
|
-
action do
|
29
|
-
puts '#'
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
# EOF
|
data/rm_test.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
require 'rubygems'
|
3
|
-
require 'roo'
|
4
|
-
|
5
|
-
oo = Excel.new("tmp.xls")
|
6
|
-
oo.default_sheet = oo.sheets.first
|
7
|
-
oo.first_row.upto(oo.last_row) do |row|
|
8
|
-
oo.first_column.upto(oo.last_column) do |col|
|
9
|
-
p oo.cell(row,col)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
FileUtils.rm_f("tmp.xls", {:verbose => true, :force => true})
|
13
|
-
=end
|
14
|
-
require 'spreadsheet'
|
15
|
-
|
16
|
-
book = Spreadsheet.open 'tmp.xls'
|
17
|
-
sheet = book.worksheet 0
|
18
|
-
sheet.each do |row| puts row[0] end
|
19
|
-
|
20
|
-
FileUtils.rm("tmp.xls")
|