rusk 0.0.1
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/.document +4 -0
- data/.gitignore +19 -0
- data/.yardopts +3 -0
- data/Gemfile +4 -0
- data/Guardfile +11 -0
- data/LICENSE +22 -0
- data/README.md +150 -0
- data/Rakefile +17 -0
- data/lib/rusk.rb +10 -0
- data/lib/rusk/book.rb +40 -0
- data/lib/rusk/cell.rb +49 -0
- data/lib/rusk/sheet.rb +56 -0
- data/lib/rusk/version.rb +3 -0
- data/rusk.gemspec +27 -0
- data/spec/book_spec.rb +67 -0
- data/spec/cell_spec.rb +272 -0
- data/spec/data/general_datas.ods +0 -0
- data/spec/data/general_datas_content.xml +217 -0
- data/spec/sheet_spec.rb +115 -0
- data/spec/spec_helper.rb +26 -0
- metadata +221 -0
data/spec/cell_spec.rb
ADDED
@@ -0,0 +1,272 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require File.expand_path('spec_helper', File.dirname(__FILE__))
|
3
|
+
|
4
|
+
describe Rusk::Cell do
|
5
|
+
before do
|
6
|
+
@general_datas_content = Nokogiri::XML(File.read("#{dir}/general_datas_content.xml"))
|
7
|
+
@cells = []
|
8
|
+
@general_datas_content.xpath('.//table:table-row').each do |i|
|
9
|
+
@cells << i.xpath(".//table:table-cell|.//table:covered-table-cell")
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
shared_context "rusk::cell when boolean(true)" do
|
14
|
+
before do
|
15
|
+
@cell = Rusk::Cell.new(@cells[14][1])
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
shared_context "rusk::cell when boolean(false)" do
|
20
|
+
before do
|
21
|
+
@cell = Rusk::Cell.new(@cells[14][2])
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
shared_context "rusk::cell when currency" do
|
26
|
+
before do
|
27
|
+
@cell = Rusk::Cell.new(@cells[15][1])
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
shared_context "rusk::cell when string cell" do
|
32
|
+
before do
|
33
|
+
@cell = Rusk::Cell.new(@cells[0][1])
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
shared_context "rusk::cell when date cell" do
|
38
|
+
before do
|
39
|
+
@cell = Rusk::Cell.new(@cells[1][1])
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
shared_context "rusk::cell when enter date of time cell" do
|
44
|
+
before do
|
45
|
+
@cell = Rusk::Cell.new(@cells[13][1])
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
shared_context "rusk::cell when time cell" do
|
50
|
+
before do
|
51
|
+
@cell = Rusk::Cell.new(@cells[2][1])
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
shared_context "rusk::cell when float cell" do
|
56
|
+
before do
|
57
|
+
@cell = Rusk::Cell.new(@cells[3][1])
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
shared_context "rusk::cell when percentage cell" do
|
62
|
+
before do
|
63
|
+
@cell = Rusk::Cell.new(@cells[12][1])
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe "#value_type" do
|
68
|
+
context "when enter boolean" do
|
69
|
+
include_context "rusk::cell when boolean(true)"
|
70
|
+
it { @cell.value_type.should eq "boolean" }
|
71
|
+
end
|
72
|
+
|
73
|
+
context "when enter currency" do
|
74
|
+
include_context "rusk::cell when currency"
|
75
|
+
it { @cell.value_type.should eq "currency" }
|
76
|
+
end
|
77
|
+
|
78
|
+
context "when string cell" do
|
79
|
+
include_context "rusk::cell when string cell"
|
80
|
+
it { @cell.value_type.should eq "string" }
|
81
|
+
end
|
82
|
+
|
83
|
+
context "when date cell" do
|
84
|
+
include_context "rusk::cell when date cell"
|
85
|
+
it { @cell.value_type.should eq "date" }
|
86
|
+
end
|
87
|
+
|
88
|
+
context "when enter date of time cell" do
|
89
|
+
include_context "rusk::cell when enter date of time cell"
|
90
|
+
it { @cell.value_type.should eq "date" }
|
91
|
+
end
|
92
|
+
|
93
|
+
context "when time cell(not datetime)" do
|
94
|
+
include_context "rusk::cell when time cell"
|
95
|
+
it { @cell.value_type.should eq "time" }
|
96
|
+
end
|
97
|
+
|
98
|
+
context "when float cell" do
|
99
|
+
include_context "rusk::cell when float cell"
|
100
|
+
it { @cell.value_type.should eq "float" }
|
101
|
+
end
|
102
|
+
|
103
|
+
context "when percentage cell" do
|
104
|
+
include_context "rusk::cell when percentage cell"
|
105
|
+
it { @cell.value_type.should eq "percentage" }
|
106
|
+
end
|
107
|
+
|
108
|
+
end
|
109
|
+
|
110
|
+
describe "#value" do
|
111
|
+
context "when boolean cell(true)" do
|
112
|
+
include_context "rusk::cell when boolean(true)"
|
113
|
+
it { @cell.value.should be_true }
|
114
|
+
end
|
115
|
+
|
116
|
+
context "when boolean cell(false)" do
|
117
|
+
include_context "rusk::cell when boolean(false)"
|
118
|
+
it { @cell.value.should be_false }
|
119
|
+
end
|
120
|
+
|
121
|
+
context "when currency cell" do
|
122
|
+
include_context "rusk::cell when currency"
|
123
|
+
it { @cell.value.should eq 10.0 }
|
124
|
+
end
|
125
|
+
|
126
|
+
context "when string cell" do
|
127
|
+
include_context "rusk::cell when string cell"
|
128
|
+
it { @cell.value.should eq "mruby" }
|
129
|
+
end
|
130
|
+
|
131
|
+
context "when date cell" do
|
132
|
+
include_context "rusk::cell when date cell"
|
133
|
+
it { @cell.value.should eq Date.new(2012,4,29) }
|
134
|
+
end
|
135
|
+
|
136
|
+
context "when enter date of time cell" do
|
137
|
+
include_context "rusk::cell when enter date of time cell"
|
138
|
+
it { @cell.value.should eq DateTime.new(2012,5,26,18,17) }
|
139
|
+
end
|
140
|
+
|
141
|
+
context "when time cell(not datetime)" do
|
142
|
+
include_context "rusk::cell when time cell"
|
143
|
+
it { @cell.value.should eq "16:50" }
|
144
|
+
end
|
145
|
+
|
146
|
+
context "when float cell" do
|
147
|
+
include_context "rusk::cell when float cell"
|
148
|
+
it { @cell.value.should eq 7000.0 }
|
149
|
+
end
|
150
|
+
|
151
|
+
context "when percentage cell" do
|
152
|
+
include_context "rusk::cell when percentage cell"
|
153
|
+
it { @cell.value.should eq 0.1 }
|
154
|
+
end
|
155
|
+
|
156
|
+
end
|
157
|
+
|
158
|
+
describe "#to_s" do
|
159
|
+
context "when boolean cell(true)" do
|
160
|
+
include_context "rusk::cell when boolean(true)"
|
161
|
+
it { @cell.to_s.should eq 'TRUE' }
|
162
|
+
end
|
163
|
+
|
164
|
+
context "when boolean cell(false)" do
|
165
|
+
include_context "rusk::cell when boolean(false)"
|
166
|
+
it { @cell.to_s.should eq 'FALSE' }
|
167
|
+
end
|
168
|
+
|
169
|
+
context "when currency cell" do
|
170
|
+
include_context "rusk::cell when currency"
|
171
|
+
it { @cell.to_s.should eq '$10.00' }
|
172
|
+
end
|
173
|
+
|
174
|
+
context "when string cell" do
|
175
|
+
include_context "rusk::cell when string cell"
|
176
|
+
it { @cell.to_s.should eq "mruby" }
|
177
|
+
end
|
178
|
+
|
179
|
+
context "when date cell" do
|
180
|
+
include_context "rusk::cell when date cell"
|
181
|
+
it { @cell.to_s.should eq 'April 29, 2012' }
|
182
|
+
end
|
183
|
+
|
184
|
+
context "when enter date of time cell" do
|
185
|
+
include_context "rusk::cell when enter date of time cell"
|
186
|
+
it { @cell.to_s.should eq '2012/5/26 18:17' }
|
187
|
+
end
|
188
|
+
|
189
|
+
context "when time cell(not datetime)" do
|
190
|
+
include_context "rusk::cell when time cell"
|
191
|
+
it { @cell.to_s.should eq "16:50" }
|
192
|
+
end
|
193
|
+
|
194
|
+
context "when float cell" do
|
195
|
+
include_context "rusk::cell when float cell"
|
196
|
+
it { @cell.to_s.should eq '7000' }
|
197
|
+
end
|
198
|
+
|
199
|
+
context "when percentage cell" do
|
200
|
+
include_context "rusk::cell when percentage cell"
|
201
|
+
it { @cell.to_s.should eq '10%' }
|
202
|
+
end
|
203
|
+
|
204
|
+
end
|
205
|
+
|
206
|
+
describe "modify ods file" do
|
207
|
+
before do
|
208
|
+
@tmp_file = create_tmp
|
209
|
+
end
|
210
|
+
|
211
|
+
after do
|
212
|
+
remove_tmp
|
213
|
+
end
|
214
|
+
|
215
|
+
describe "#value=" do
|
216
|
+
context "'mruby' changed to 'cruby'(string cell changed to string)" do
|
217
|
+
before do
|
218
|
+
Rusk::Book.open(@tmp_file) do |book|
|
219
|
+
sheet = book[0]
|
220
|
+
sheet[0,1].value = "cruby"
|
221
|
+
book.save
|
222
|
+
end
|
223
|
+
|
224
|
+
Rusk::Book.open(@tmp_file) do |book|
|
225
|
+
sheet = book[0]
|
226
|
+
@cell = sheet[0,1]
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
it { @cell.value.should eq "cruby" }
|
231
|
+
end
|
232
|
+
|
233
|
+
context "string cell changed to date" do
|
234
|
+
before do
|
235
|
+
Rusk::Book.open(@tmp_file) do |book|
|
236
|
+
sheet = book[0]
|
237
|
+
sheet[0,1].value = Date.new(2012,5,7)
|
238
|
+
book.save
|
239
|
+
end
|
240
|
+
|
241
|
+
Rusk::Book.open(@tmp_file) do |book|
|
242
|
+
sheet = book[0]
|
243
|
+
@cell = sheet[0,1]
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
247
|
+
it { @cell.value.should eq Date.new(2012,5,07) }
|
248
|
+
it { @cell.value_type.should eq 'date' }
|
249
|
+
end
|
250
|
+
|
251
|
+
context "string cell changed to float" do
|
252
|
+
before do
|
253
|
+
Rusk::Book.open(@tmp_file) do |book|
|
254
|
+
sheet = book[0]
|
255
|
+
sheet[0,1].value = 500.1
|
256
|
+
book.save
|
257
|
+
end
|
258
|
+
|
259
|
+
Rusk::Book.open(@tmp_file) do |book|
|
260
|
+
sheet = book[0]
|
261
|
+
@cell = sheet[0,1]
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|
265
|
+
it { @cell.value.should eq 500.1 }
|
266
|
+
it { @cell.value_type.should eq 'float' }
|
267
|
+
end
|
268
|
+
|
269
|
+
end
|
270
|
+
end
|
271
|
+
|
272
|
+
end
|
Binary file
|
@@ -0,0 +1,217 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2">
|
3
|
+
<office:scripts/>
|
4
|
+
<office:font-face-decls>
|
5
|
+
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
6
|
+
<style:font-face style:name="Arial Unicode MS" svg:font-family="'Arial Unicode MS'" style:font-family-generic="system" style:font-pitch="variable"/>
|
7
|
+
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
|
8
|
+
<style:font-face style:name="ヒラギノ角ゴ ProN W3" svg:font-family="'ヒラギノ角ゴ ProN W3'" style:font-family-generic="system" style:font-pitch="variable"/>
|
9
|
+
</office:font-face-decls>
|
10
|
+
<office:automatic-styles>
|
11
|
+
<style:style style:name="co1" style:family="table-column">
|
12
|
+
<style:table-column-properties fo:break-before="auto" style:column-width="2.267cm"/>
|
13
|
+
</style:style>
|
14
|
+
<style:style style:name="ro2" style:family="table-row">
|
15
|
+
<style:table-row-properties style:row-height="0.448cm" fo:break-before="auto" style:use-optimal-row-height="true"/>
|
16
|
+
</style:style>
|
17
|
+
<style:style style:name="ta1" style:family="table" style:master-page-name="Default">
|
18
|
+
<style:table-properties table:display="true" style:writing-mode="lr-tb"/>
|
19
|
+
</style:style>
|
20
|
+
<number:percentage-style style:name="N10">
|
21
|
+
<number:number number:decimal-places="0" number:min-integer-digits="1"/>
|
22
|
+
<number:text>%</number:text>
|
23
|
+
</number:percentage-style>
|
24
|
+
<number:date-style style:name="N51">
|
25
|
+
<number:year number:style="long"/>
|
26
|
+
<number:text>/</number:text>
|
27
|
+
<number:month/>
|
28
|
+
<number:text>/</number:text>
|
29
|
+
<number:day/>
|
30
|
+
<number:text> </number:text>
|
31
|
+
<number:hours/>
|
32
|
+
<number:text>:</number:text>
|
33
|
+
<number:minutes number:style="long"/>
|
34
|
+
</number:date-style>
|
35
|
+
<number:boolean-style style:name="N99">
|
36
|
+
<number:boolean/>
|
37
|
+
</number:boolean-style>
|
38
|
+
<number:time-style style:name="N5040" number:language="en" number:country="US">
|
39
|
+
<number:hours number:style="long"/>
|
40
|
+
<number:text>:</number:text>
|
41
|
+
<number:minutes number:style="long"/>
|
42
|
+
</number:time-style>
|
43
|
+
<number:date-style style:name="N5076" number:language="en" number:country="US" number:automatic-order="true">
|
44
|
+
<number:month number:style="long" number:textual="true"/>
|
45
|
+
<number:text> </number:text>
|
46
|
+
<number:day/>
|
47
|
+
<number:text>, </number:text>
|
48
|
+
<number:year number:style="long"/>
|
49
|
+
</number:date-style>
|
50
|
+
<number:currency-style style:name="N5104P0" style:volatile="true" number:language="en" number:country="US">
|
51
|
+
<number:currency-symbol number:language="en" number:country="US">$</number:currency-symbol>
|
52
|
+
<number:number number:decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
|
53
|
+
</number:currency-style>
|
54
|
+
<number:currency-style style:name="N5104" number:language="en" number:country="US">
|
55
|
+
<style:text-properties fo:color="#ff0000"/>
|
56
|
+
<number:text>-</number:text>
|
57
|
+
<number:currency-symbol number:language="en" number:country="US">$</number:currency-symbol>
|
58
|
+
<number:number number:decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
|
59
|
+
<style:map style:condition="value()>=0" style:apply-style-name="N5104P0"/>
|
60
|
+
</number:currency-style>
|
61
|
+
<style:style style:name="ce1" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N5076"/>
|
62
|
+
<style:style style:name="ce2" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N5040"/>
|
63
|
+
<style:style style:name="ce3" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N10"/>
|
64
|
+
<style:style style:name="ce4" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N51"/>
|
65
|
+
<style:style style:name="ce5" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N99"/>
|
66
|
+
<style:style style:name="ce6" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N5104"/>
|
67
|
+
</office:automatic-styles>
|
68
|
+
<office:body>
|
69
|
+
<office:spreadsheet>
|
70
|
+
<table:table table:name="Sheet1" table:style-name="ta1">
|
71
|
+
<table:table-column table:style-name="co1" table:number-columns-repeated="3" table:default-cell-style-name="Default"/>
|
72
|
+
<table:table-row table:style-name="ro2">
|
73
|
+
<table:table-cell office:value-type="string">
|
74
|
+
<text:p>string</text:p>
|
75
|
+
</table:table-cell>
|
76
|
+
<table:table-cell office:value-type="string">
|
77
|
+
<text:p>mruby</text:p>
|
78
|
+
</table:table-cell>
|
79
|
+
<table:table-cell/>
|
80
|
+
</table:table-row>
|
81
|
+
<table:table-row table:style-name="ro2">
|
82
|
+
<table:table-cell office:value-type="string">
|
83
|
+
<text:p>date</text:p>
|
84
|
+
</table:table-cell>
|
85
|
+
<table:table-cell table:style-name="ce1" office:value-type="date" office:date-value="2012-04-29">
|
86
|
+
<text:p>April 29, 2012</text:p>
|
87
|
+
</table:table-cell>
|
88
|
+
<table:table-cell/>
|
89
|
+
</table:table-row>
|
90
|
+
<table:table-row table:style-name="ro2">
|
91
|
+
<table:table-cell office:value-type="string">
|
92
|
+
<text:p>time</text:p>
|
93
|
+
</table:table-cell>
|
94
|
+
<table:table-cell table:style-name="ce2" office:value-type="time" office:time-value="PT16H50M00S">
|
95
|
+
<text:p>16:50</text:p>
|
96
|
+
</table:table-cell>
|
97
|
+
<table:table-cell/>
|
98
|
+
</table:table-row>
|
99
|
+
<table:table-row table:style-name="ro2">
|
100
|
+
<table:table-cell office:value-type="string">
|
101
|
+
<text:p>float</text:p>
|
102
|
+
</table:table-cell>
|
103
|
+
<table:table-cell office:value-type="float" office:value="7000">
|
104
|
+
<text:p>7000</text:p>
|
105
|
+
</table:table-cell>
|
106
|
+
<table:table-cell/>
|
107
|
+
</table:table-row>
|
108
|
+
<table:table-row table:style-name="ro2">
|
109
|
+
<table:table-cell office:value-type="string" table:number-columns-spanned="2" table:number-rows-spanned="1">
|
110
|
+
<text:p>merged_cell</text:p>
|
111
|
+
</table:table-cell>
|
112
|
+
<table:covered-table-cell/>
|
113
|
+
<table:table-cell office:value-type="string">
|
114
|
+
<text:p>after merged column</text:p>
|
115
|
+
</table:table-cell>
|
116
|
+
</table:table-row>
|
117
|
+
<table:table-row table:style-name="ro2">
|
118
|
+
<table:table-cell office:value-type="string" table:number-columns-spanned="1" table:number-rows-spanned="2">
|
119
|
+
<text:p>merged_row cell</text:p>
|
120
|
+
</table:table-cell>
|
121
|
+
<table:table-cell office:value-type="string">
|
122
|
+
<text:p>merged first row cell</text:p>
|
123
|
+
</table:table-cell>
|
124
|
+
<table:table-cell/>
|
125
|
+
</table:table-row>
|
126
|
+
<table:table-row table:style-name="ro2">
|
127
|
+
<table:covered-table-cell/>
|
128
|
+
<table:table-cell office:value-type="string">
|
129
|
+
<text:p>merged second row cell</text:p>
|
130
|
+
</table:table-cell>
|
131
|
+
<table:table-cell/>
|
132
|
+
</table:table-row>
|
133
|
+
<table:table-row table:style-name="ro2">
|
134
|
+
<table:table-cell office:value-type="string">
|
135
|
+
<text:p>after merged row cell</text:p>
|
136
|
+
</table:table-cell>
|
137
|
+
<table:table-cell table:number-columns-repeated="2"/>
|
138
|
+
</table:table-row>
|
139
|
+
<table:table-row table:style-name="ro2">
|
140
|
+
<table:table-cell table:number-columns-repeated="3"/>
|
141
|
+
</table:table-row>
|
142
|
+
<table:table-row table:style-name="ro2">
|
143
|
+
<table:table-cell office:value-type="string">
|
144
|
+
<text:p>after blank row</text:p>
|
145
|
+
</table:table-cell>
|
146
|
+
<table:table-cell table:number-columns-repeated="2"/>
|
147
|
+
</table:table-row>
|
148
|
+
<table:table-row table:style-name="ro2">
|
149
|
+
<table:table-cell/>
|
150
|
+
<table:table-cell office:value-type="string">
|
151
|
+
<text:p>after blank column</text:p>
|
152
|
+
</table:table-cell>
|
153
|
+
<table:table-cell/>
|
154
|
+
</table:table-row>
|
155
|
+
<table:table-row table:style-name="ro2">
|
156
|
+
<table:table-cell office:value-type="string" table:number-columns-spanned="2" table:number-rows-spanned="1">
|
157
|
+
<text:p>hide the cell next to</text:p>
|
158
|
+
</table:table-cell>
|
159
|
+
<table:covered-table-cell office:value-type="string">
|
160
|
+
<text:p>hidden cell</text:p>
|
161
|
+
</table:covered-table-cell>
|
162
|
+
<table:table-cell/>
|
163
|
+
</table:table-row>
|
164
|
+
<table:table-row table:style-name="ro2">
|
165
|
+
<table:table-cell office:value-type="string">
|
166
|
+
<text:p>percentage</text:p>
|
167
|
+
</table:table-cell>
|
168
|
+
<table:table-cell table:style-name="ce3" office:value-type="percentage" office:value="0.1">
|
169
|
+
<text:p>10%</text:p>
|
170
|
+
</table:table-cell>
|
171
|
+
<table:table-cell/>
|
172
|
+
</table:table-row>
|
173
|
+
<table:table-row table:style-name="ro2">
|
174
|
+
<table:table-cell office:value-type="string">
|
175
|
+
<text:p>enter date of time</text:p>
|
176
|
+
</table:table-cell>
|
177
|
+
<table:table-cell table:style-name="ce4" office:value-type="date" office:date-value="2012-05-26T18:17:00">
|
178
|
+
<text:p>2012/5/26 18:17</text:p>
|
179
|
+
</table:table-cell>
|
180
|
+
<table:table-cell/>
|
181
|
+
</table:table-row>
|
182
|
+
<table:table-row table:style-name="ro2">
|
183
|
+
<table:table-cell office:value-type="string">
|
184
|
+
<text:p>boolean</text:p>
|
185
|
+
</table:table-cell>
|
186
|
+
<table:table-cell table:style-name="ce5" office:value-type="boolean" office:boolean-value="true">
|
187
|
+
<text:p>TRUE</text:p>
|
188
|
+
</table:table-cell>
|
189
|
+
<table:table-cell table:style-name="ce5" office:value-type="boolean" office:boolean-value="false">
|
190
|
+
<text:p>FALSE</text:p>
|
191
|
+
</table:table-cell>
|
192
|
+
</table:table-row>
|
193
|
+
<table:table-row table:style-name="ro2">
|
194
|
+
<table:table-cell office:value-type="string">
|
195
|
+
<text:p>currency</text:p>
|
196
|
+
</table:table-cell>
|
197
|
+
<table:table-cell table:style-name="ce6" office:value-type="currency" office:currency="USD" office:value="10">
|
198
|
+
<text:p>$10.00</text:p>
|
199
|
+
</table:table-cell>
|
200
|
+
<table:table-cell/>
|
201
|
+
</table:table-row>
|
202
|
+
</table:table>
|
203
|
+
<table:table table:name="Sheet2" table:style-name="ta1">
|
204
|
+
<table:table-column table:style-name="co1" table:default-cell-style-name="Default"/>
|
205
|
+
<table:table-row table:style-name="ro2">
|
206
|
+
<table:table-cell/>
|
207
|
+
</table:table-row>
|
208
|
+
</table:table>
|
209
|
+
<table:table table:name="Sheet3" table:style-name="ta1">
|
210
|
+
<table:table-column table:style-name="co1" table:default-cell-style-name="Default"/>
|
211
|
+
<table:table-row table:style-name="ro2">
|
212
|
+
<table:table-cell/>
|
213
|
+
</table:table-row>
|
214
|
+
</table:table>
|
215
|
+
</office:spreadsheet>
|
216
|
+
</office:body>
|
217
|
+
</office:document-content>
|