osheet 0.10.0 → 1.0.0.rc.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -1
- data/Gemfile.lock +9 -6
- data/Rakefile +35 -19
- data/bench/bench_runner.rb +91 -0
- data/bench/profiler_runner.rb +1 -0
- data/examples/basic.rb +1 -1
- data/examples/basic.xls +2 -1
- data/examples/basic_with_templates.rb +2 -2
- data/examples/basic_with_templates.xls +3 -3
- data/examples/formats.rb +2 -2
- data/examples/formats.xls +46 -46
- data/examples/formula.rb +2 -2
- data/examples/styles.rb +2 -2
- data/examples/styles.xls +5 -5
- data/examples/trivial.rb +2 -2
- data/lib/osheet/cell.rb +48 -46
- data/lib/osheet/column.rb +23 -29
- data/lib/osheet/format.rb +3 -3
- data/lib/osheet/meta_element.rb +2 -1
- data/lib/osheet/mixin.rb +21 -9
- data/lib/osheet/partial.rb +5 -9
- data/lib/osheet/row.rb +28 -32
- data/lib/osheet/style.rb +11 -25
- data/lib/osheet/styled_element.rb +9 -1
- data/lib/osheet/template.rb +3 -8
- data/lib/osheet/version.rb +1 -1
- data/lib/osheet/workbook.rb +135 -43
- data/lib/osheet/workbook_api.rb +208 -0
- data/lib/osheet/workbook_element.rb +225 -8
- data/lib/osheet/worksheet.rb +22 -28
- data/lib/osheet/xmlss_writer/style_cache.rb +64 -0
- data/lib/osheet/xmlss_writer/style_settings.rb +148 -0
- data/lib/osheet/xmlss_writer.rb +143 -1
- data/lib/osheet.rb +3 -29
- data/osheet.gemspec +4 -1
- data/test/cell_test.rb +33 -98
- data/test/column_test.rb +20 -88
- data/test/{mixins.rb → fixtures/mixins.rb} +6 -4
- data/test/fixtures/test_writer.rb +68 -0
- data/test/format_test.rb +2 -2
- data/test/helper.rb +34 -68
- data/test/mixin_test.rb +37 -43
- data/test/partial_test.rb +3 -26
- data/test/row_test.rb +32 -85
- data/test/style_test.rb +9 -26
- data/test/template_test.rb +5 -6
- data/test/workbook_element_test.rb +231 -0
- data/test/workbook_test.rb +225 -116
- data/test/worksheet_test.rb +51 -98
- data/test/xmlss_writer/api_test.rb +139 -0
- data/test/xmlss_writer/style_cache_test.rb +65 -0
- data/test/xmlss_writer/style_settings_test.rb +263 -0
- data/test/xmlss_writer/styles_test.rb +121 -153
- data/test/xmlss_writer_test.rb +91 -0
- metadata +75 -50
- data/lib/osheet/associations.rb +0 -58
- data/lib/osheet/instance.rb +0 -30
- data/lib/osheet/markup_element.rb +0 -22
- data/lib/osheet/partial_set.rb +0 -57
- data/lib/osheet/railtie.rb +0 -9
- data/lib/osheet/style_set.rb +0 -39
- data/lib/osheet/template_set.rb +0 -51
- data/lib/osheet/view_handler/rails.rb +0 -44
- data/lib/osheet/view_handler/tilt.rb +0 -42
- data/lib/osheet/view_handler.rb +0 -2
- data/lib/osheet/worksheet_element.rb +0 -17
- data/lib/osheet/xmlss_writer/base.rb +0 -49
- data/lib/osheet/xmlss_writer/elements.rb +0 -56
- data/lib/osheet/xmlss_writer/styles.rb +0 -216
- data/test/osheet_test.rb +0 -13
- data/test/partial_set_test.rb +0 -64
- data/test/style_set_test.rb +0 -47
- data/test/template_set_test.rb +0 -74
- data/test/xmlss_writer/base_test.rb +0 -103
- data/test/xmlss_writer/elements_test.rb +0 -172
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
osheet (0.
|
4
|
+
osheet (1.0.0.rc.1)
|
5
5
|
enumeration (~> 1.3)
|
6
|
-
xmlss (~> 0.
|
6
|
+
xmlss (~> 1.0.0.rc)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: http://rubygems.org/
|
10
10
|
specs:
|
11
|
-
ansi (1.4.
|
11
|
+
ansi (1.4.2)
|
12
12
|
assert (0.7.3)
|
13
13
|
assert-view (~> 0.5)
|
14
14
|
assert-view (0.5.0)
|
@@ -17,10 +17,12 @@ GEM
|
|
17
17
|
enumeration (1.3.1)
|
18
18
|
rake (0.9.2.2)
|
19
19
|
ruby-prof (0.10.8)
|
20
|
-
undies (2.1
|
21
|
-
|
20
|
+
undies (2.2.1)
|
21
|
+
whysoslow (0.0.2)
|
22
|
+
ansi (~> 1.4)
|
23
|
+
xmlss (1.0.0.rc.1)
|
22
24
|
enumeration (~> 1.3)
|
23
|
-
undies (~> 2.1)
|
25
|
+
undies (~> 2.2.1)
|
24
26
|
|
25
27
|
PLATFORMS
|
26
28
|
ruby
|
@@ -31,3 +33,4 @@ DEPENDENCIES
|
|
31
33
|
osheet!
|
32
34
|
rake (~> 0.9.2)
|
33
35
|
ruby-prof
|
36
|
+
whysoslow (~> 0.0)
|
data/Rakefile
CHANGED
@@ -6,27 +6,43 @@ Bundler::GemHelper.install_tasks
|
|
6
6
|
|
7
7
|
task :default => :build
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
9
|
+
namespace :bench do
|
10
|
+
|
11
|
+
desc "Run the bench script."
|
12
|
+
task :run do
|
13
|
+
require 'bench/bench_runner'
|
14
|
+
OsheetBenchRunner.new
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Run the profiler on 1000 rows."
|
18
|
+
task :profiler do
|
19
|
+
require 'bench/profiler_runner'
|
20
|
+
runner = OsheetProfilerRunner.new(1000)
|
21
|
+
runner.print_flat(STDOUT, :min_percent => 3)
|
22
|
+
end
|
23
|
+
|
24
|
+
desc "Run the example workbook builds."
|
25
|
+
task :examples do
|
26
|
+
require 'examples/trivial'
|
27
|
+
require 'examples/basic'
|
28
|
+
require 'examples/basic_with_templates'
|
29
|
+
require 'examples/formats'
|
30
|
+
require 'examples/formula'
|
31
|
+
require 'examples/styles'
|
32
|
+
end
|
33
|
+
|
34
|
+
desc "Run all the tests, then the example builds, then the profiler."
|
35
|
+
task :all do
|
36
|
+
Rake::Task['test'].invoke
|
37
|
+
Rake::Task['bench:run'].invoke
|
38
|
+
Rake::Task['bench:profiler'].invoke
|
39
|
+
Rake::Task['bench:examples'].invoke
|
40
|
+
end
|
18
41
|
|
19
|
-
desc "Run the profiler on 1000 rows."
|
20
|
-
task :run_profiler do
|
21
|
-
require 'bench/profiler_runner'
|
22
42
|
|
23
|
-
runner = OsheetProfilerRunner.new(1000)
|
24
|
-
runner.print_flat(STDOUT, :min_percent => 3)
|
25
43
|
end
|
26
44
|
|
27
|
-
|
28
|
-
|
29
|
-
Rake::Task['test'].invoke
|
30
|
-
Rake::Task['run_examples'].invoke
|
31
|
-
Rake::Task['run_profiler'].invoke
|
45
|
+
task :bench do
|
46
|
+
Rake::Task['bench:run'].invoke
|
32
47
|
end
|
48
|
+
|
@@ -0,0 +1,91 @@
|
|
1
|
+
require 'whysoslow'
|
2
|
+
require 'stringio'
|
3
|
+
|
4
|
+
require 'osheet'
|
5
|
+
|
6
|
+
class OsheetBenchResults
|
7
|
+
|
8
|
+
def initialize(row_count)
|
9
|
+
@row_count = row_count
|
10
|
+
@printer = Whysoslow::DefaultPrinter.new({
|
11
|
+
:title => "#{@row_count} rows",
|
12
|
+
:verbose => true
|
13
|
+
})
|
14
|
+
@runner = Whysoslow::Runner.new(@printer)
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
@runner.run do
|
19
|
+
data_values = {
|
20
|
+
:number => 1,
|
21
|
+
:text => 'text',
|
22
|
+
:currency => 123.45,
|
23
|
+
:text => "<>&'\"/",
|
24
|
+
:currency => 45.23
|
25
|
+
}
|
26
|
+
|
27
|
+
outstream = StringIO.new(out = "")
|
28
|
+
outstream << Osheet::Workbook.new(Osheet::XmlssWriter.new(:pp => 2), {
|
29
|
+
:bench_row_count => @row_count,
|
30
|
+
:runner => @runner
|
31
|
+
}) {
|
32
|
+
title "bench"
|
33
|
+
|
34
|
+
template(:row, :header) {
|
35
|
+
columns.each do |column|
|
36
|
+
cell {
|
37
|
+
data column.meta[:label]
|
38
|
+
}
|
39
|
+
end
|
40
|
+
}
|
41
|
+
|
42
|
+
template(:row, :data) { |values|
|
43
|
+
columns.each do |col|
|
44
|
+
cell {
|
45
|
+
data values[col.meta[:label]]
|
46
|
+
format col.meta[:label]
|
47
|
+
}
|
48
|
+
end
|
49
|
+
}
|
50
|
+
|
51
|
+
worksheet {
|
52
|
+
name "bench results"
|
53
|
+
|
54
|
+
data_values.keys.each do |label|
|
55
|
+
column {
|
56
|
+
width 200
|
57
|
+
meta(:label => label)
|
58
|
+
}
|
59
|
+
end
|
60
|
+
|
61
|
+
row :header
|
62
|
+
|
63
|
+
10.times do |i|
|
64
|
+
(bench_row_count / 10).times do
|
65
|
+
row :data, data_values
|
66
|
+
end
|
67
|
+
runner.snapshot("#{((i+1)*10).to_s.rjust(3)}%")
|
68
|
+
end
|
69
|
+
}
|
70
|
+
}.to_data
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
class OsheetBenchRunner
|
77
|
+
|
78
|
+
ROWS = [10, 100, 1000, 10000]#, 30000]
|
79
|
+
|
80
|
+
def initialize
|
81
|
+
puts "Benchmark Results:"
|
82
|
+
puts
|
83
|
+
ROWS.each do |size|
|
84
|
+
OsheetBenchResults.new(size).run
|
85
|
+
puts
|
86
|
+
end
|
87
|
+
puts
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
|
data/bench/profiler_runner.rb
CHANGED
data/examples/basic.rb
CHANGED
data/examples/basic.xls
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"><Styles></Styles><Worksheet ss:Name="Stats Sex, Age, Height, Weight"><Table><Column ss:Width="200" /><Column ss:Width="80" /><Column ss:Width="80" /><Column ss:Width="80" /><Column ss:Width="80" /><Row><Cell ss:MergeAcross="4"><Data ss:Type="String">Stats: Sex, Age, Height, Weight</Data></Cell></Row><Row><Cell ss:MergeAcross="4"><Data ss:Type="String"></Data></Cell></Row><Row><Cell><Data ss:Type="String">Name</Data></Cell><Cell><Data ss:Type="String">Sex</Data></Cell><Cell><Data ss:Type="String">Age</Data></Cell><Cell><Data ss:Type="String">Height</Data></Cell><Cell><Data ss:Type="String">Weight</Data></Cell></Row><Row><Cell><Data ss:Type="String">Sally</Data></Cell><Cell><Data ss:Type="String">F</Data></Cell><Cell><Data ss:Type="Number">29</Data></Cell><Cell><Data ss:Type="String">5'3"</Data></Cell><Cell><Data ss:Type="String">132 lbs.</Data></Cell></Row><Row><Cell><Data ss:Type="String">Dick</Data></Cell><Cell><Data ss:Type="String">M</Data></Cell><Cell><Data ss:Type="Number">33</Data></Cell><Cell><Data ss:Type="String">6'5"</Data></Cell><Cell><Data ss:Type="String">243 lbs.</Data></Cell></Row><Row><Cell><Data ss:Type="String">Tom</Data></Cell><Cell><Data ss:Type="String">M</Data></Cell><Cell><Data ss:Type="Number">52</Data></Cell><Cell><Data ss:Type="String">6'2"</Data></Cell><Cell><Data ss:Type="String">220 lbs.</Data></Cell></Row></Table></Worksheet></Workbook>
|
@@ -17,7 +17,7 @@ data = {
|
|
17
17
|
|
18
18
|
puts "building examples/basic_with_templats.rb ..."
|
19
19
|
|
20
|
-
Osheet::Workbook.new {
|
20
|
+
Osheet::Workbook.new(Osheet::XmlssWriter.new(:pp => 2)) {
|
21
21
|
title "basic"
|
22
22
|
|
23
23
|
template(:column, :data) { |field, index|
|
@@ -82,6 +82,6 @@ Osheet::Workbook.new {
|
|
82
82
|
row :data, name, stats
|
83
83
|
end
|
84
84
|
}
|
85
|
-
}.to_file('examples/basic_with_templates.xls'
|
85
|
+
}.to_file('examples/basic_with_templates.xls')
|
86
86
|
|
87
87
|
puts "open examples/basic_with_templates.xls"
|
@@ -48,7 +48,7 @@
|
|
48
48
|
<Data ss:Type="Number">29</Data>
|
49
49
|
</Cell>
|
50
50
|
<Cell>
|
51
|
-
<Data ss:Type="String">5
|
51
|
+
<Data ss:Type="String">5'3"</Data>
|
52
52
|
</Cell>
|
53
53
|
<Cell>
|
54
54
|
<Data ss:Type="String">132 lbs.</Data>
|
@@ -65,7 +65,7 @@
|
|
65
65
|
<Data ss:Type="Number">33</Data>
|
66
66
|
</Cell>
|
67
67
|
<Cell>
|
68
|
-
<Data ss:Type="String">6
|
68
|
+
<Data ss:Type="String">6'5"</Data>
|
69
69
|
</Cell>
|
70
70
|
<Cell>
|
71
71
|
<Data ss:Type="String">243 lbs.</Data>
|
@@ -82,7 +82,7 @@
|
|
82
82
|
<Data ss:Type="Number">52</Data>
|
83
83
|
</Cell>
|
84
84
|
<Cell>
|
85
|
-
<Data ss:Type="String">6
|
85
|
+
<Data ss:Type="String">6'2"</Data>
|
86
86
|
</Cell>
|
87
87
|
<Cell>
|
88
88
|
<Data ss:Type="String">220 lbs.</Data>
|
data/examples/formats.rb
CHANGED
@@ -8,7 +8,7 @@ require 'osheet'
|
|
8
8
|
|
9
9
|
puts "building examples/formats.rb ..."
|
10
10
|
|
11
|
-
Osheet::Workbook.new {
|
11
|
+
Osheet::Workbook.new(Osheet::XmlssWriter.new(:pp => 2)) {
|
12
12
|
title "formats"
|
13
13
|
|
14
14
|
|
@@ -365,6 +365,6 @@ Osheet::Workbook.new {
|
|
365
365
|
|
366
366
|
|
367
367
|
|
368
|
-
}.to_file('examples/formats.xls'
|
368
|
+
}.to_file('examples/formats.xls')
|
369
369
|
|
370
370
|
puts "open examples/formats.xls"
|
data/examples/formats.xls
CHANGED
@@ -61,6 +61,12 @@
|
|
61
61
|
<Style ss:ID="..scientific_none_8_comma_redparenth">
|
62
62
|
<NumberFormat ss:Format="#,##0.00000000E+00_);[Red](#,##0.00000000E+00)" />
|
63
63
|
</Style>
|
64
|
+
<Style ss:ID="..fraction_threedigits">
|
65
|
+
<NumberFormat ss:Format="# ???/???" />
|
66
|
+
</Style>
|
67
|
+
<Style ss:ID="..fraction_hundredths">
|
68
|
+
<NumberFormat ss:Format="# ??/100" />
|
69
|
+
</Style>
|
64
70
|
<Style ss:ID="..fraction_halves">
|
65
71
|
<NumberFormat ss:Format="# ?/2" />
|
66
72
|
</Style>
|
@@ -82,12 +88,6 @@
|
|
82
88
|
<Style ss:ID="..fraction_tenths">
|
83
89
|
<NumberFormat ss:Format="# ?/10" />
|
84
90
|
</Style>
|
85
|
-
<Style ss:ID="..fraction_threedigits">
|
86
|
-
<NumberFormat ss:Format="# ???/???" />
|
87
|
-
</Style>
|
88
|
-
<Style ss:ID="..fraction_hundredths">
|
89
|
-
<NumberFormat ss:Format="# ??/100" />
|
90
|
-
</Style>
|
91
91
|
<Style ss:ID="..text">
|
92
92
|
<NumberFormat ss:Format="@" />
|
93
93
|
</Style>
|
@@ -447,6 +447,22 @@
|
|
447
447
|
<Data ss:Type="String">Fraction Example</Data>
|
448
448
|
</Cell>
|
449
449
|
</Row>
|
450
|
+
<Row>
|
451
|
+
<Cell>
|
452
|
+
<Data ss:Type="String">fraction_threedigits</Data>
|
453
|
+
</Cell>
|
454
|
+
<Cell ss:StyleID="..fraction_threedigits">
|
455
|
+
<Data ss:Type="Number">0.01</Data>
|
456
|
+
</Cell>
|
457
|
+
</Row>
|
458
|
+
<Row>
|
459
|
+
<Cell>
|
460
|
+
<Data ss:Type="String">fraction_hundredths</Data>
|
461
|
+
</Cell>
|
462
|
+
<Cell ss:StyleID="..fraction_hundredths">
|
463
|
+
<Data ss:Type="Number">0.01</Data>
|
464
|
+
</Cell>
|
465
|
+
</Row>
|
450
466
|
<Row>
|
451
467
|
<Cell>
|
452
468
|
<Data ss:Type="String">fraction_halves</Data>
|
@@ -503,22 +519,6 @@
|
|
503
519
|
<Data ss:Type="Number">0.1</Data>
|
504
520
|
</Cell>
|
505
521
|
</Row>
|
506
|
-
<Row>
|
507
|
-
<Cell>
|
508
|
-
<Data ss:Type="String">fraction_threedigits</Data>
|
509
|
-
</Cell>
|
510
|
-
<Cell ss:StyleID="..fraction_threedigits">
|
511
|
-
<Data ss:Type="Number">0.01</Data>
|
512
|
-
</Cell>
|
513
|
-
</Row>
|
514
|
-
<Row>
|
515
|
-
<Cell>
|
516
|
-
<Data ss:Type="String">fraction_hundredths</Data>
|
517
|
-
</Cell>
|
518
|
-
<Cell ss:StyleID="..fraction_hundredths">
|
519
|
-
<Data ss:Type="Number">0.01</Data>
|
520
|
-
</Cell>
|
521
|
-
</Row>
|
522
522
|
</Table>
|
523
523
|
</Worksheet>
|
524
524
|
<Worksheet ss:Name="text, special, custom">
|
@@ -600,7 +600,7 @@
|
|
600
600
|
<Data ss:Type="String">datetime_m</Data>
|
601
601
|
</Cell>
|
602
602
|
<Cell ss:StyleID="..datetime_m">
|
603
|
-
<Data ss:Type="DateTime">2012-
|
603
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
604
604
|
</Cell>
|
605
605
|
</Row>
|
606
606
|
<Row>
|
@@ -608,7 +608,7 @@
|
|
608
608
|
<Data ss:Type="String">datetime_d</Data>
|
609
609
|
</Cell>
|
610
610
|
<Cell ss:StyleID="..datetime_d">
|
611
|
-
<Data ss:Type="DateTime">2012-
|
611
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
612
612
|
</Cell>
|
613
613
|
</Row>
|
614
614
|
<Row>
|
@@ -616,7 +616,7 @@
|
|
616
616
|
<Data ss:Type="String">datetime_y</Data>
|
617
617
|
</Cell>
|
618
618
|
<Cell ss:StyleID="..datetime_y">
|
619
|
-
<Data ss:Type="DateTime">2012-
|
619
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
620
620
|
</Cell>
|
621
621
|
</Row>
|
622
622
|
<Row>
|
@@ -624,7 +624,7 @@
|
|
624
624
|
<Data ss:Type="String">datetime_mm</Data>
|
625
625
|
</Cell>
|
626
626
|
<Cell ss:StyleID="..datetime_mm">
|
627
|
-
<Data ss:Type="DateTime">2012-
|
627
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
628
628
|
</Cell>
|
629
629
|
</Row>
|
630
630
|
<Row>
|
@@ -632,7 +632,7 @@
|
|
632
632
|
<Data ss:Type="String">datetime_dd</Data>
|
633
633
|
</Cell>
|
634
634
|
<Cell ss:StyleID="..datetime_dd">
|
635
|
-
<Data ss:Type="DateTime">2012-
|
635
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
636
636
|
</Cell>
|
637
637
|
</Row>
|
638
638
|
<Row>
|
@@ -640,7 +640,7 @@
|
|
640
640
|
<Data ss:Type="String">datetime_yy</Data>
|
641
641
|
</Cell>
|
642
642
|
<Cell ss:StyleID="..datetime_yy">
|
643
|
-
<Data ss:Type="DateTime">2012-
|
643
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
644
644
|
</Cell>
|
645
645
|
</Row>
|
646
646
|
<Row>
|
@@ -648,23 +648,23 @@
|
|
648
648
|
<Data ss:Type="String">datetime_yyyy</Data>
|
649
649
|
</Cell>
|
650
650
|
<Cell ss:StyleID="..datetime_yyyy">
|
651
|
-
<Data ss:Type="DateTime">2012-
|
651
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
652
652
|
</Cell>
|
653
653
|
</Row>
|
654
654
|
<Row>
|
655
655
|
<Cell>
|
656
|
-
<Data ss:Type="String">datetime_mm
|
656
|
+
<Data ss:Type="String">datetime_mm/dd/yy</Data>
|
657
657
|
</Cell>
|
658
658
|
<Cell ss:StyleID="..datetime_mm/dd/yy">
|
659
|
-
<Data ss:Type="DateTime">2012-
|
659
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
660
660
|
</Cell>
|
661
661
|
</Row>
|
662
662
|
<Row>
|
663
663
|
<Cell>
|
664
|
-
<Data ss:Type="String">datetime_mm
|
664
|
+
<Data ss:Type="String">datetime_mm/dd/yyyy</Data>
|
665
665
|
</Cell>
|
666
666
|
<Cell ss:StyleID="..datetime_mm/dd/yyyy">
|
667
|
-
<Data ss:Type="DateTime">2012-
|
667
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
668
668
|
</Cell>
|
669
669
|
</Row>
|
670
670
|
<Row>
|
@@ -672,7 +672,7 @@
|
|
672
672
|
<Data ss:Type="String">datetime_mmmm</Data>
|
673
673
|
</Cell>
|
674
674
|
<Cell ss:StyleID="..datetime_mmmm">
|
675
|
-
<Data ss:Type="DateTime">2012-
|
675
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
676
676
|
</Cell>
|
677
677
|
</Row>
|
678
678
|
<Row>
|
@@ -680,7 +680,7 @@
|
|
680
680
|
<Data ss:Type="String">datetime_mmmmm</Data>
|
681
681
|
</Cell>
|
682
682
|
<Cell ss:StyleID="..datetime_mmmmm">
|
683
|
-
<Data ss:Type="DateTime">2012-
|
683
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
684
684
|
</Cell>
|
685
685
|
</Row>
|
686
686
|
<Row>
|
@@ -688,7 +688,7 @@
|
|
688
688
|
<Data ss:Type="String">datetime_mmmmm</Data>
|
689
689
|
</Cell>
|
690
690
|
<Cell ss:StyleID="..datetime_mmmmm">
|
691
|
-
<Data ss:Type="DateTime">2012-
|
691
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
692
692
|
</Cell>
|
693
693
|
</Row>
|
694
694
|
<Row>
|
@@ -696,7 +696,7 @@
|
|
696
696
|
<Data ss:Type="String">datetime_h</Data>
|
697
697
|
</Cell>
|
698
698
|
<Cell ss:StyleID="..datetime_h">
|
699
|
-
<Data ss:Type="DateTime">2012-
|
699
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
700
700
|
</Cell>
|
701
701
|
</Row>
|
702
702
|
<Row>
|
@@ -704,7 +704,7 @@
|
|
704
704
|
<Data ss:Type="String">datetime_m</Data>
|
705
705
|
</Cell>
|
706
706
|
<Cell ss:StyleID="..datetime_m">
|
707
|
-
<Data ss:Type="DateTime">2012-
|
707
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
708
708
|
</Cell>
|
709
709
|
</Row>
|
710
710
|
<Row>
|
@@ -712,7 +712,7 @@
|
|
712
712
|
<Data ss:Type="String">datetime_s</Data>
|
713
713
|
</Cell>
|
714
714
|
<Cell ss:StyleID="..datetime_s">
|
715
|
-
<Data ss:Type="DateTime">2012-
|
715
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
716
716
|
</Cell>
|
717
717
|
</Row>
|
718
718
|
<Row>
|
@@ -720,7 +720,7 @@
|
|
720
720
|
<Data ss:Type="String">datetime_hh</Data>
|
721
721
|
</Cell>
|
722
722
|
<Cell ss:StyleID="..datetime_hh">
|
723
|
-
<Data ss:Type="DateTime">2012-
|
723
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
724
724
|
</Cell>
|
725
725
|
</Row>
|
726
726
|
<Row>
|
@@ -728,7 +728,7 @@
|
|
728
728
|
<Data ss:Type="String">datetime_mm</Data>
|
729
729
|
</Cell>
|
730
730
|
<Cell ss:StyleID="..datetime_mm">
|
731
|
-
<Data ss:Type="DateTime">2012-
|
731
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
732
732
|
</Cell>
|
733
733
|
</Row>
|
734
734
|
<Row>
|
@@ -736,7 +736,7 @@
|
|
736
736
|
<Data ss:Type="String">datetime_ss</Data>
|
737
737
|
</Cell>
|
738
738
|
<Cell ss:StyleID="..datetime_ss">
|
739
|
-
<Data ss:Type="DateTime">2012-
|
739
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
740
740
|
</Cell>
|
741
741
|
</Row>
|
742
742
|
<Row>
|
@@ -744,7 +744,7 @@
|
|
744
744
|
<Data ss:Type="String">datetime_h:mm:ss</Data>
|
745
745
|
</Cell>
|
746
746
|
<Cell ss:StyleID="..datetime_h:mm:ss">
|
747
|
-
<Data ss:Type="DateTime">2012-
|
747
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
748
748
|
</Cell>
|
749
749
|
</Row>
|
750
750
|
<Row>
|
@@ -752,15 +752,15 @@
|
|
752
752
|
<Data ss:Type="String">datetime_h:mm:ss.0</Data>
|
753
753
|
</Cell>
|
754
754
|
<Cell ss:StyleID="..datetime_h:mm:ss.0">
|
755
|
-
<Data ss:Type="DateTime">2012-
|
755
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
756
756
|
</Cell>
|
757
757
|
</Row>
|
758
758
|
<Row>
|
759
759
|
<Cell>
|
760
|
-
<Data ss:Type="String">datetime_hh:mm:ss AM
|
760
|
+
<Data ss:Type="String">datetime_hh:mm:ss AM/PM</Data>
|
761
761
|
</Cell>
|
762
762
|
<Cell ss:StyleID="..datetime_hh:mm:ss AM/PM">
|
763
|
-
<Data ss:Type="DateTime">2012-
|
763
|
+
<Data ss:Type="DateTime">2012-03-14T00:00:00</Data>
|
764
764
|
</Cell>
|
765
765
|
</Row>
|
766
766
|
</Table>
|
data/examples/formula.rb
CHANGED
@@ -11,7 +11,7 @@ require 'osheet'
|
|
11
11
|
|
12
12
|
puts "building examples/formula.rb ..."
|
13
13
|
|
14
|
-
Osheet::Workbook.new {
|
14
|
+
Osheet::Workbook.new(Osheet::XmlssWriter.new(:pp => 2)) {
|
15
15
|
title "formula example"
|
16
16
|
worksheet {
|
17
17
|
name "Formula"
|
@@ -38,6 +38,6 @@ Osheet::Workbook.new {
|
|
38
38
|
}
|
39
39
|
}
|
40
40
|
}
|
41
|
-
}.to_file('examples/formula.xls'
|
41
|
+
}.to_file('examples/formula.xls')
|
42
42
|
|
43
43
|
puts "open examples/formula.xls"
|
data/examples/styles.rb
CHANGED
@@ -8,7 +8,7 @@ require 'osheet'
|
|
8
8
|
|
9
9
|
puts "building examples/styles.rb ..."
|
10
10
|
|
11
|
-
Osheet::Workbook.new {
|
11
|
+
Osheet::Workbook.new(Osheet::XmlssWriter.new(:pp => 2)) {
|
12
12
|
title "styles"
|
13
13
|
template(:cell, :styled) { |style, attribute|
|
14
14
|
data attribute == :wrap ? (attribute.to_s+' ')*20 : attribute.to_s
|
@@ -250,6 +250,6 @@ Osheet::Workbook.new {
|
|
250
250
|
|
251
251
|
|
252
252
|
|
253
|
-
}.to_file('examples/styles.xls'
|
253
|
+
}.to_file('examples/styles.xls')
|
254
254
|
|
255
255
|
puts "open examples/styles.xls"
|
data/examples/styles.xls
CHANGED
@@ -293,7 +293,7 @@
|
|
293
293
|
<Table>
|
294
294
|
<Column ss:Width="20" />
|
295
295
|
<Column ss:Width="200" />
|
296
|
-
<Row
|
296
|
+
<Row />
|
297
297
|
<Row ss:Height="50">
|
298
298
|
<Cell>
|
299
299
|
<Data ss:Type="String"></Data>
|
@@ -302,7 +302,7 @@
|
|
302
302
|
<Data ss:Type="String">top red hairline continuous</Data>
|
303
303
|
</Cell>
|
304
304
|
</Row>
|
305
|
-
<Row
|
305
|
+
<Row />
|
306
306
|
<Row ss:Height="50">
|
307
307
|
<Cell>
|
308
308
|
<Data ss:Type="String"></Data>
|
@@ -311,7 +311,7 @@
|
|
311
311
|
<Data ss:Type="String">right green thin dash</Data>
|
312
312
|
</Cell>
|
313
313
|
</Row>
|
314
|
-
<Row
|
314
|
+
<Row />
|
315
315
|
<Row ss:Height="50">
|
316
316
|
<Cell>
|
317
317
|
<Data ss:Type="String"></Data>
|
@@ -320,7 +320,7 @@
|
|
320
320
|
<Data ss:Type="String">bottom blue medium dat</Data>
|
321
321
|
</Cell>
|
322
322
|
</Row>
|
323
|
-
<Row
|
323
|
+
<Row />
|
324
324
|
<Row ss:Height="50">
|
325
325
|
<Cell>
|
326
326
|
<Data ss:Type="String"></Data>
|
@@ -329,7 +329,7 @@
|
|
329
329
|
<Data ss:Type="String">left yellow thick dast_dot</Data>
|
330
330
|
</Cell>
|
331
331
|
</Row>
|
332
|
-
<Row
|
332
|
+
<Row />
|
333
333
|
<Row ss:Height="50">
|
334
334
|
<Cell>
|
335
335
|
<Data ss:Type="String"></Data>
|
data/examples/trivial.rb
CHANGED
@@ -8,7 +8,7 @@ require 'osheet'
|
|
8
8
|
|
9
9
|
puts "building examples/trivial.rb ..."
|
10
10
|
|
11
|
-
Osheet::Workbook.new {
|
11
|
+
Osheet::Workbook.new(Osheet::XmlssWriter.new(:pp => 2)) {
|
12
12
|
title "basic"
|
13
13
|
worksheet {
|
14
14
|
name "one dollar"
|
@@ -20,6 +20,6 @@ Osheet::Workbook.new {
|
|
20
20
|
}
|
21
21
|
}
|
22
22
|
}
|
23
|
-
}.to_file('examples/trivial.xls'
|
23
|
+
}.to_file('examples/trivial.xls')
|
24
24
|
|
25
25
|
puts "open examples/trivial.xls"
|