roo 0.9.3 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +3 -0
- data/License.txt +0 -0
- data/Manifest.txt +0 -0
- data/README.txt +0 -0
- data/Rakefile +0 -0
- data/base64include.rb +0 -0
- data/examples/roo_soap_client.rb +0 -0
- data/examples/roo_soap_server.rb +0 -0
- data/examples/write_me.rb +0 -0
- data/lib/roo.rb +0 -0
- data/lib/roo/excel.rb +2 -0
- data/lib/roo/generic_spreadsheet.rb +29 -0
- data/lib/roo/google.rb +0 -0
- data/lib/roo/openoffice.rb +0 -0
- data/lib/roo/roo_rails_helper.rb +0 -0
- data/lib/roo/version.rb +1 -1
- data/scripts/txt2html +0 -0
- data/setup.rb +0 -0
- data/test/Bibelbund.csv +0 -0
- data/test/Bibelbund.ods +0 -0
- data/test/Bibelbund.xls +0 -0
- data/test/Bibelbund1.ods +0 -0
- data/test/bbu.ods +0 -0
- data/test/bbu.xls +0 -0
- data/test/bode-v1.ods.zip +0 -0
- data/test/bode-v1.xls.zip +0 -0
- data/test/borders.ods +0 -0
- data/test/borders.xls +0 -0
- data/test/false_encoding.xls +0 -0
- data/test/formula.ods +0 -0
- data/test/formula.xls +0 -0
- data/test/no_spreadsheet_file.txt +0 -0
- data/test/numbers1.csv +0 -0
- data/test/numbers1.ods +0 -0
- data/test/numbers1.xls +0 -0
- data/test/numbers1_excel.csv +0 -0
- data/test/only_one_sheet.ods +0 -0
- data/test/only_one_sheet.xls +0 -0
- data/test/ric.ods +0 -0
- data/test/simple_spreadsheet.ods +0 -0
- data/test/simple_spreadsheet.xls +0 -0
- data/test/simple_spreadsheet_from_italo.ods +0 -0
- data/test/simple_spreadsheet_from_italo.xls +0 -0
- data/test/test_helper.rb +0 -0
- data/test/test_roo.rb +102 -3
- data/test/time-test.csv +0 -0
- data/test/time-test.ods +0 -0
- data/test/time-test.xls +0 -0
- data/website/index.html +1 -1
- data/website/index.txt +0 -0
- data/website/javascripts/rounded_corners_lite.inc.js +0 -0
- data/website/stylesheets/screen.css +0 -0
- data/website/template.rhtml +0 -0
- metadata +3 -3
data/History.txt
CHANGED
data/License.txt
CHANGED
File without changes
|
data/Manifest.txt
CHANGED
File without changes
|
data/README.txt
CHANGED
File without changes
|
data/Rakefile
CHANGED
File without changes
|
data/base64include.rb
CHANGED
File without changes
|
data/examples/roo_soap_client.rb
CHANGED
File without changes
|
data/examples/roo_soap_server.rb
CHANGED
File without changes
|
data/examples/write_me.rb
CHANGED
File without changes
|
data/lib/roo.rb
CHANGED
File without changes
|
data/lib/roo/excel.rb
CHANGED
@@ -345,6 +345,8 @@ class Excel < GenericSpreadsheet
|
|
345
345
|
case RUBY_PLATFORM.downcase
|
346
346
|
when /darwin/
|
347
347
|
result = Iconv.new('utf-8','utf-8').iconv(value)
|
348
|
+
when /solaris/
|
349
|
+
result = Iconv.new('utf-8','utf-8').iconv(value)
|
348
350
|
when /mswin32/
|
349
351
|
result = Iconv.new('utf-8','iso-8859-1').iconv(value)
|
350
352
|
else
|
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'builder'
|
3
|
+
|
1
4
|
# Base class for all other types of spreadsheets
|
2
5
|
class GenericSpreadsheet
|
3
6
|
|
@@ -378,6 +381,32 @@ class GenericSpreadsheet
|
|
378
381
|
result
|
379
382
|
end
|
380
383
|
|
384
|
+
def to_xml
|
385
|
+
xml_document = ''
|
386
|
+
xml = Builder::XmlMarkup.new(:target => xml_document, :indent => 2)
|
387
|
+
xml.instruct! :xml, :version =>"1.0", :encoding => "utf-8"
|
388
|
+
|
389
|
+
xml.spreadsheet {
|
390
|
+
self.sheets.each do |sheet|
|
391
|
+
self.default_sheet = sheet
|
392
|
+
xml.sheet(:name => sheet) { |x|
|
393
|
+
first_row.upto(last_row) do |row|
|
394
|
+
first_column.upto(last_column) do |col|
|
395
|
+
unless empty?(row,col)
|
396
|
+
x.cell(cell(row,col),
|
397
|
+
:row =>row,
|
398
|
+
:column => col,
|
399
|
+
:type => celltype(row,col))
|
400
|
+
end
|
401
|
+
end
|
402
|
+
end
|
403
|
+
}
|
404
|
+
end
|
405
|
+
}
|
406
|
+
|
407
|
+
xml_document
|
408
|
+
end
|
409
|
+
|
381
410
|
protected
|
382
411
|
|
383
412
|
def unzip(filename)
|
data/lib/roo/google.rb
CHANGED
File without changes
|
data/lib/roo/openoffice.rb
CHANGED
File without changes
|
data/lib/roo/roo_rails_helper.rb
CHANGED
File without changes
|
data/lib/roo/version.rb
CHANGED
data/scripts/txt2html
CHANGED
File without changes
|
data/setup.rb
CHANGED
File without changes
|
data/test/Bibelbund.csv
CHANGED
File without changes
|
data/test/Bibelbund.ods
CHANGED
File without changes
|
data/test/Bibelbund.xls
CHANGED
File without changes
|
data/test/Bibelbund1.ods
CHANGED
File without changes
|
data/test/bbu.ods
CHANGED
File without changes
|
data/test/bbu.xls
CHANGED
File without changes
|
data/test/bode-v1.ods.zip
CHANGED
File without changes
|
data/test/bode-v1.xls.zip
CHANGED
File without changes
|
data/test/borders.ods
CHANGED
File without changes
|
data/test/borders.xls
CHANGED
File without changes
|
data/test/false_encoding.xls
CHANGED
File without changes
|
data/test/formula.ods
CHANGED
File without changes
|
data/test/formula.xls
CHANGED
File without changes
|
File without changes
|
data/test/numbers1.csv
CHANGED
File without changes
|
data/test/numbers1.ods
CHANGED
File without changes
|
data/test/numbers1.xls
CHANGED
File without changes
|
data/test/numbers1_excel.csv
CHANGED
File without changes
|
data/test/only_one_sheet.ods
CHANGED
File without changes
|
data/test/only_one_sheet.xls
CHANGED
File without changes
|
data/test/ric.ods
CHANGED
File without changes
|
data/test/simple_spreadsheet.ods
CHANGED
File without changes
|
data/test/simple_spreadsheet.xls
CHANGED
File without changes
|
File without changes
|
File without changes
|
data/test/test_helper.rb
CHANGED
File without changes
|
data/test/test_roo.rb
CHANGED
@@ -20,7 +20,7 @@ def local_only
|
|
20
20
|
end
|
21
21
|
|
22
22
|
DISPLAY_LOG = false
|
23
|
-
DB_LOG =
|
23
|
+
DB_LOG = false
|
24
24
|
|
25
25
|
if DB_LOG
|
26
26
|
# gem 'activerecord', '< 2.0.0'
|
@@ -117,7 +117,7 @@ class TestRoo < Test::Unit::TestCase
|
|
117
117
|
|
118
118
|
OPENOFFICE = true # do Openoffice-Spreadsheet Tests?
|
119
119
|
EXCEL = true # do Excel Tests?
|
120
|
-
GOOGLE =
|
120
|
+
GOOGLE = false # do Google-Spreadsheet Tests?
|
121
121
|
GNUMERIC_ODS = false # do gnumeric with ods files Tests?
|
122
122
|
|
123
123
|
OPENOFFICEWRITE = false # experimental: write access with OO-Documents
|
@@ -2918,7 +2918,7 @@ Sheet 3:
|
|
2918
2918
|
|
2919
2919
|
def test_date_time_to_csv_excel
|
2920
2920
|
if EXCEL
|
2921
|
-
after Date.new(2008,
|
2921
|
+
after Date.new(2008,4,30) do
|
2922
2922
|
#ueberfluessige leere Zeilen werden am Ende noch angehaengt
|
2923
2923
|
# last_row fehlerhaft?
|
2924
2924
|
File.delete_if_exist("/tmp/time-test.csv")
|
@@ -3002,4 +3002,103 @@ Sheet 3:
|
|
3002
3002
|
end
|
3003
3003
|
end
|
3004
3004
|
|
3005
|
+
def emit_cell(row,col,type,value)
|
3006
|
+
" <cell "+
|
3007
|
+
"row=\"#{row}\" "+
|
3008
|
+
"type=\"#{type}\" "+
|
3009
|
+
"column=\"#{col}\""+
|
3010
|
+
">#{value}</cell>\n"
|
3011
|
+
end
|
3012
|
+
|
3013
|
+
def test_to_xml_openoffice
|
3014
|
+
if OPENOFFICE
|
3015
|
+
oo = Openoffice.new(File.join('test','numbers1.ods'))
|
3016
|
+
expected = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"+
|
3017
|
+
"<sheet name=\"Tabelle1\">\n"+
|
3018
|
+
emit_cell(1,1,"float","1.0")+
|
3019
|
+
emit_cell(1,2,'float','2.0')+
|
3020
|
+
emit_cell(1,3,'float','3.0')+
|
3021
|
+
emit_cell(1,4,'float','4.0')+
|
3022
|
+
emit_cell(1,5,'formula','10.0')+
|
3023
|
+
emit_cell(2,1,'float','5.0')+
|
3024
|
+
emit_cell(2,2,'float','6.0')+
|
3025
|
+
emit_cell(2,3,'float','7.0')+
|
3026
|
+
emit_cell(2,4,'float','8.0')+
|
3027
|
+
emit_cell(2,5,'float','9.0')+
|
3028
|
+
emit_cell(2,6,'string','test')+
|
3029
|
+
emit_cell(2,7,'float','11.0')+
|
3030
|
+
emit_cell(4, 1, "float", "10.0")+
|
3031
|
+
emit_cell(4, 2, "float", "11.0")+
|
3032
|
+
emit_cell(4, 3, "float", "12.0")+
|
3033
|
+
emit_cell(4, 4, "float", "13.0")+
|
3034
|
+
emit_cell(4, 5, "float", "14.0")+
|
3035
|
+
emit_cell(5, 1, "date", "1961-11-21")+
|
3036
|
+
emit_cell(6, 1, "string", "tata")+
|
3037
|
+
emit_cell(8, 3, "string", "thisisc8")+
|
3038
|
+
emit_cell(9,4, "string", "thisisd9")+
|
3039
|
+
emit_cell(11, 1, "string", "thisisa11")+
|
3040
|
+
emit_cell(12, 1, "float", "41.0")+
|
3041
|
+
emit_cell(12, 2, "float", "42.0")+
|
3042
|
+
emit_cell(12, 3, "float", "43.0")+
|
3043
|
+
emit_cell(12, 4, "float", "44.0")+
|
3044
|
+
emit_cell(12, 5, "float", "45.0")+
|
3045
|
+
emit_cell(15, 1, "float", "41.0")+
|
3046
|
+
emit_cell(15, 2, "float", "42.0")+
|
3047
|
+
emit_cell(15, 3, "float", "43.0")+
|
3048
|
+
emit_cell(15, 4, "float", "44.0")+
|
3049
|
+
emit_cell(15, 5, "float", "45.0")+
|
3050
|
+
emit_cell(16, 1, "string", "einundvierzig")+
|
3051
|
+
emit_cell(16, 2, "string", "zweiundvierzig")+
|
3052
|
+
emit_cell(16, 3, "string", "dreiundvierzig")+
|
3053
|
+
emit_cell(16, 4, "string", "vierundvierzig")+
|
3054
|
+
emit_cell(16, 5, "string", "fuenfundvierzig")+
|
3055
|
+
emit_cell(18, 1, "date", "2007-05-31")+
|
3056
|
+
emit_cell(18, 2, "string", "dies hier als Date-Objekt")+
|
3057
|
+
"</sheet>\n"+
|
3058
|
+
"<sheet name=\"Name of Sheet 2\">\n"+
|
3059
|
+
emit_cell(5, 3, "string", "I am sheet 2")+
|
3060
|
+
emit_cell(7, 2, "float", "3.0")+
|
3061
|
+
emit_cell(10, 5, "float", "7.0")+
|
3062
|
+
emit_cell(14, 4, "float", "9.0")+
|
3063
|
+
"</sheet>\n"+
|
3064
|
+
"<sheet name=\"Sheet3\">\n"+
|
3065
|
+
emit_cell(1, 1, "string", "ganz weit rechts geht’s weiter")+
|
3066
|
+
emit_cell(1, GenericSpreadsheet.letter_to_number('AA'), "string", "i am AA")+
|
3067
|
+
emit_cell(1, GenericSpreadsheet.letter_to_number('AB'), "string", "i am AB")+
|
3068
|
+
emit_cell(1, GenericSpreadsheet.letter_to_number('BA'), "string", "i am BA")+
|
3069
|
+
"</sheet>\n"+
|
3070
|
+
"<sheet name=\"Sheet4\">\n"+
|
3071
|
+
emit_cell(1, 1, "date", "2007-06-16")+
|
3072
|
+
emit_cell(1, 2, "float", "10.0")+
|
3073
|
+
emit_cell(1, 3, "float", "10.0")+
|
3074
|
+
emit_cell(1, 4, "float", "10.0")+
|
3075
|
+
emit_cell(1, 5, "float", "10.0")+
|
3076
|
+
"</sheet>\n"+
|
3077
|
+
"<sheet name=\"Sheet5\">\n"+
|
3078
|
+
emit_cell(1, 1, "float", "1.0")+
|
3079
|
+
emit_cell(1, 2, "float", "5.0")+
|
3080
|
+
emit_cell(1, 3, "float", "5.0")+
|
3081
|
+
emit_cell(2, 1, "float", "2.0")+
|
3082
|
+
emit_cell(3, 1, "float", "3.0")+
|
3083
|
+
emit_cell(4, 1, "date", "2007-11-21")+
|
3084
|
+
emit_cell(4, 2, "date", "2007-11-21")+
|
3085
|
+
emit_cell(4, 3, "date", "2007-11-21")+
|
3086
|
+
emit_cell(4, 4, "date", "2007-11-21")+
|
3087
|
+
emit_cell(4, 5, "date", "2007-11-21")+
|
3088
|
+
emit_cell(5, 1, "float", "42.0")+
|
3089
|
+
emit_cell(5, 2, "float", "42.0")+
|
3090
|
+
emit_cell(5, 3, "float", "42.0")+
|
3091
|
+
emit_cell(5, 4, "float", "42.0")+
|
3092
|
+
emit_cell(5, 5, "float", "42.0")+
|
3093
|
+
emit_cell(6, 1, "string", "ABC")+
|
3094
|
+
emit_cell(6, 2, "string", "ABC")+
|
3095
|
+
emit_cell(6, 3, "string", "ABC")+
|
3096
|
+
emit_cell(6, 4, "string", "ABC")+
|
3097
|
+
emit_cell(6, 5, "string", "ABC")+
|
3098
|
+
"</sheet>\n"+
|
3099
|
+
""
|
3100
|
+
# oo.default_sheet = oo.sheets.first
|
3101
|
+
assert_equal expected, oo.to_xml
|
3102
|
+
end
|
3103
|
+
end
|
3005
3104
|
end # class
|
data/test/time-test.csv
CHANGED
File without changes
|
data/test/time-test.ods
CHANGED
File without changes
|
data/test/time-test.xls
CHANGED
File without changes
|
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.9.
|
36
|
+
<a href="http://rubyforge.org/projects/roo" class="numbers">0.9.4</a>
|
37
37
|
</div>
|
38
38
|
<h2>What</h2>
|
39
39
|
|
data/website/index.txt
CHANGED
File without changes
|
File without changes
|
File without changes
|
data/website/template.rhtml
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Preymesser
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-04-22 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
138
|
requirements: []
|
139
139
|
|
140
140
|
rubyforge_project: roo
|
141
|
-
rubygems_version: 1.
|
141
|
+
rubygems_version: 1.1.1
|
142
142
|
signing_key:
|
143
143
|
specification_version: 2
|
144
144
|
summary: roo can access the contents of OpenOffice-, Excel- or Google-Spreadsheets
|