axlsx 1.1.6 → 1.1.7
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/README.md +19 -6
- data/examples/axis-titles.xlsx +0 -0
- data/examples/basic_charts.rb +46 -0
- data/examples/basic_charts.xlsx +0 -0
- data/examples/charts.xlsx +0 -0
- data/examples/example.rb +17 -1
- data/examples/example.xlsx +0 -0
- data/examples/example_streamed.xlsx +0 -0
- data/examples/extractive.xlsx +0 -0
- data/examples/no-use_autowidth.xlsx +0 -0
- data/examples/pie_chart_excel.xlsx +0 -0
- data/examples/pie_chart_saved.xlsx +0 -0
- data/examples/shared_strings_example.xlsx +0 -0
- data/examples/sheet_view.rb +34 -0
- data/examples/sheet_view.xlsx +0 -0
- data/examples/~$example.xlsx +0 -0
- data/lib/axlsx.rb +3 -2
- data/lib/axlsx/drawing/axis.rb +18 -0
- data/lib/axlsx/drawing/cat_axis.rb +3 -3
- data/lib/axlsx/drawing/chart.rb +3 -3
- data/lib/axlsx/drawing/drawing.rb +0 -1
- data/lib/axlsx/drawing/graphic_frame.rb +2 -2
- data/lib/axlsx/drawing/num_data.rb +2 -2
- data/lib/axlsx/drawing/title.rb +21 -9
- data/lib/axlsx/package.rb +9 -5
- data/lib/axlsx/util/validators.rb +28 -4
- data/lib/axlsx/version.rb +1 -1
- data/lib/axlsx/workbook/workbook.rb +7 -3
- data/lib/axlsx/workbook/worksheet/cell.rb +4 -0
- data/lib/axlsx/workbook/worksheet/page_setup.rb +1 -1
- data/lib/axlsx/workbook/worksheet/pane.rb +144 -0
- data/lib/axlsx/workbook/worksheet/selection.rb +111 -0
- data/lib/axlsx/workbook/worksheet/sheet_view.rb +379 -0
- data/lib/axlsx/workbook/worksheet/worksheet.rb +27 -10
- data/test/drawing/tc_axis.rb +19 -2
- data/test/drawing/tc_cat_axis.rb +3 -3
- data/test/drawing/tc_num_data.rb +5 -1
- data/test/drawing/tc_title.rb +16 -0
- data/test/tc_package.rb +24 -4
- data/test/util/tc_validators.rb +68 -11
- data/test/workbook/worksheet/tc_pane.rb +94 -0
- data/test/workbook/worksheet/tc_selection.rb +94 -0
- data/test/workbook/worksheet/tc_sheet_view.rb +214 -0
- data/test/workbook/worksheet/tc_worksheet.rb +0 -7
- metadata +28 -13
- data/examples/pie_chart.rb +0 -16
- data/examples/pie_chart.xlsx +0 -0
- data/examples/~$pie_chart_saved.xlsx +0 -0
@@ -0,0 +1,214 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../../"
|
3
|
+
require 'tc_helper.rb'
|
4
|
+
|
5
|
+
class TestSheetView < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
#inverse defaults for booleans
|
8
|
+
@boolean_options = { :right_to_left => true, :show_formulas => true, :show_outline_symbols => true,
|
9
|
+
:show_white_space => true, :tab_selected => true, :default_grid_color => false, :show_grid_lines => false,
|
10
|
+
:show_row_col_headers => false, :show_ruler => false, :show_zeros => false, :window_protection => true }
|
11
|
+
@symbol_options = { :view => :page_break_preview }
|
12
|
+
@nil_options = { :color_id => 2, :top_left_cell => 'A2' }
|
13
|
+
@int_0 = { :zoom_scale_normal => 100, :zoom_scale_page_layout_view => 100, :zoom_scale_sheet_layout_view => 100, :workbook_view_id => 2 }
|
14
|
+
@int_100 = { :zoom_scale => 10 }
|
15
|
+
|
16
|
+
@integer_options = { :color_id => 2, :workbook_view_id => 2 }.merge(@int_0).merge(@int_100)
|
17
|
+
@string_options = { :top_left_cell => 'A2' }
|
18
|
+
|
19
|
+
|
20
|
+
@options = @boolean_options.merge(@boolean_options).merge(@symbol_options).merge(@nil_options).merge(@int_0).merge(@int_100)
|
21
|
+
|
22
|
+
@sv = Axlsx::SheetView.new(@options)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_initialize
|
26
|
+
sv = Axlsx::SheetView.new
|
27
|
+
|
28
|
+
@boolean_options.each do |key, value|
|
29
|
+
assert_equal(!value, sv.send(key.to_sym), "initialized default #{key} should be #{!value}")
|
30
|
+
assert_equal(value, @sv.send(key.to_sym), "initialized options #{key} should be #{value}")
|
31
|
+
end
|
32
|
+
|
33
|
+
@nil_options.each do |key, value|
|
34
|
+
assert_equal(nil, sv.send(key.to_sym), "initialized default #{key} should be nil")
|
35
|
+
assert_equal(value, @sv.send(key.to_sym), "initialized options #{key} should be #{value}")
|
36
|
+
end
|
37
|
+
|
38
|
+
@int_0.each do |key, value|
|
39
|
+
assert_equal(0, sv.send(key.to_sym), "initialized default #{key} should be 0")
|
40
|
+
assert_equal(value, @sv.send(key.to_sym), "initialized options #{key} should be #{value}")
|
41
|
+
end
|
42
|
+
|
43
|
+
@int_100.each do |key, value|
|
44
|
+
assert_equal(100, sv.send(key.to_sym), "initialized default #{key} should be 100")
|
45
|
+
assert_equal(value, @sv.send(key.to_sym), "initialized options #{key} should be #{value}")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_boolean_attribute_validation
|
50
|
+
@boolean_options.each do |key, value|
|
51
|
+
assert_raise(ArgumentError, "#{key} must be boolean") { @sv.send("#{key}=".to_sym, 'A') }
|
52
|
+
assert_nothing_raised { @sv.send("#{key}=".to_sym, true) }
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_string_attribute_validation
|
57
|
+
@string_options.each do |key, value|
|
58
|
+
assert_raise(ArgumentError, "#{key} must be string") { @sv.send("#{key}=".to_sym, :symbol) }
|
59
|
+
assert_nothing_raised { @sv.send("#{key}=".to_sym, "foo") }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_symbol_attribute_validation
|
64
|
+
@symbol_options.each do |key, value|
|
65
|
+
assert_raise(ArgumentError, "#{key} must be symbol") { @sv.send("#{key}=".to_sym, "foo") }
|
66
|
+
assert_nothing_raised { @sv.send("#{key}=".to_sym, value) }
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_integer_attribute_validation
|
71
|
+
@integer_options.each do |key, value|
|
72
|
+
assert_raise(ArgumentError, "#{key} must be integer") { @sv.send("#{key}=".to_sym, "foo") }
|
73
|
+
assert_nothing_raised { @sv.send("#{key}=".to_sym, value) }
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_color_id
|
78
|
+
assert_raise(ArgumentError) { @sv.color_id = "10" }
|
79
|
+
assert_nothing_raised { @sv.color_id = 2 }
|
80
|
+
assert_equal(@sv.color_id, 2)
|
81
|
+
end
|
82
|
+
|
83
|
+
def test_default_grid_color
|
84
|
+
assert_raise(ArgumentError) { @sv.default_grid_color = "foo" }
|
85
|
+
assert_nothing_raised { @sv.default_grid_color = false }
|
86
|
+
assert_equal(@sv.default_grid_color, false)
|
87
|
+
end
|
88
|
+
|
89
|
+
def test_right_to_left
|
90
|
+
assert_raise(ArgumentError) { @sv.right_to_left = "foo´" }
|
91
|
+
assert_nothing_raised { @sv.right_to_left = true }
|
92
|
+
assert_equal(@sv.right_to_left, true)
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_show_formulas
|
96
|
+
assert_raise(ArgumentError) { @sv.show_formulas = 'foo' }
|
97
|
+
assert_nothing_raised { @sv.show_formulas = false }
|
98
|
+
assert_equal(@sv.show_formulas, false)
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_show_grid_lines
|
102
|
+
assert_raise(ArgumentError) { @sv.show_grid_lines = "foo" }
|
103
|
+
assert_nothing_raised { @sv.show_grid_lines = false }
|
104
|
+
assert_equal(@sv.show_grid_lines, false)
|
105
|
+
end
|
106
|
+
|
107
|
+
def test_show_outline_symbols
|
108
|
+
assert_raise(ArgumentError) { @sv.show_outline_symbols = 'foo' }
|
109
|
+
assert_nothing_raised { @sv.show_outline_symbols = false }
|
110
|
+
assert_equal(@sv.show_outline_symbols, false)
|
111
|
+
end
|
112
|
+
|
113
|
+
def test_show_row_col_headers
|
114
|
+
assert_raise(ArgumentError) { @sv.show_row_col_headers = "foo" }
|
115
|
+
assert_nothing_raised { @sv.show_row_col_headers = false }
|
116
|
+
assert_equal(@sv.show_row_col_headers, false)
|
117
|
+
end
|
118
|
+
|
119
|
+
def test_show_ruler
|
120
|
+
assert_raise(ArgumentError) { @sv.show_ruler = 'foo' }
|
121
|
+
assert_nothing_raised { @sv.show_ruler = false }
|
122
|
+
assert_equal(@sv.show_ruler, false)
|
123
|
+
end
|
124
|
+
|
125
|
+
def test_show_white_space
|
126
|
+
assert_raise(ArgumentError) { @sv.show_white_space = 'foo' }
|
127
|
+
assert_nothing_raised { @sv.show_white_space = false }
|
128
|
+
assert_equal(@sv.show_white_space, false)
|
129
|
+
end
|
130
|
+
|
131
|
+
def test_show_zeros
|
132
|
+
assert_raise(ArgumentError) { @sv.show_zeros = "foo" }
|
133
|
+
assert_nothing_raised { @sv.show_zeros = false }
|
134
|
+
assert_equal(@sv.show_zeros, false)
|
135
|
+
end
|
136
|
+
|
137
|
+
def test_tab_selected
|
138
|
+
assert_raise(ArgumentError) { @sv.tab_selected = "foo" }
|
139
|
+
assert_nothing_raised { @sv.tab_selected = false }
|
140
|
+
assert_equal(@sv.tab_selected, false)
|
141
|
+
end
|
142
|
+
|
143
|
+
def test_top_left_cell
|
144
|
+
assert_raise(ArgumentError) { @sv.top_left_cell = :cell_adress }
|
145
|
+
assert_nothing_raised { @sv.top_left_cell = "A2" }
|
146
|
+
assert_equal(@sv.top_left_cell, "A2")
|
147
|
+
end
|
148
|
+
|
149
|
+
def test_view
|
150
|
+
assert_raise(ArgumentError) { @sv.view = 'view' }
|
151
|
+
assert_nothing_raised { @sv.view = :page_break_preview }
|
152
|
+
assert_equal(@sv.view, :page_break_preview)
|
153
|
+
end
|
154
|
+
|
155
|
+
def test_window_protection
|
156
|
+
assert_raise(ArgumentError) { @sv.window_protection = "foo" }
|
157
|
+
assert_nothing_raised { @sv.window_protection = false }
|
158
|
+
assert_equal(@sv.window_protection, false)
|
159
|
+
end
|
160
|
+
|
161
|
+
def test_workbook_view_id
|
162
|
+
assert_raise(ArgumentError) { @sv.workbook_view_id = "1" }
|
163
|
+
assert_nothing_raised { @sv.workbook_view_id = 1 }
|
164
|
+
assert_equal(@sv.workbook_view_id, 1)
|
165
|
+
end
|
166
|
+
|
167
|
+
def test_zoom_scale
|
168
|
+
assert_raise(ArgumentError) { @sv.zoom_scale = "50" }
|
169
|
+
assert_nothing_raised { @sv.zoom_scale = 50 }
|
170
|
+
assert_equal(@sv.zoom_scale, 50)
|
171
|
+
end
|
172
|
+
|
173
|
+
def test_zoom_scale_normal
|
174
|
+
assert_raise(ArgumentError) { @sv.zoom_scale_normal = "50" }
|
175
|
+
assert_nothing_raised { @sv.zoom_scale_normal = 50 }
|
176
|
+
assert_equal(@sv.zoom_scale_normal, 50)
|
177
|
+
end
|
178
|
+
|
179
|
+
def test_zoom_scale_page_layout_view
|
180
|
+
assert_raise(ArgumentError) { @sv.zoom_scale_page_layout_view = "50" }
|
181
|
+
assert_nothing_raised { @sv.zoom_scale_page_layout_view = 50 }
|
182
|
+
assert_equal(@sv.zoom_scale_page_layout_view, 50)
|
183
|
+
end
|
184
|
+
|
185
|
+
def test_zoom_scale_sheet_layout_view
|
186
|
+
assert_raise(ArgumentError) { @sv.zoom_scale_sheet_layout_view = "50" }
|
187
|
+
assert_nothing_raised { @sv.zoom_scale_sheet_layout_view = 50 }
|
188
|
+
assert_equal(@sv.zoom_scale_sheet_layout_view, 50)
|
189
|
+
end
|
190
|
+
|
191
|
+
def test_to_xml
|
192
|
+
p = Axlsx::Package.new
|
193
|
+
@ws = p.workbook.add_worksheet :name => "sheetview"
|
194
|
+
@ws.sheet_view do |vs|
|
195
|
+
vs.view = :page_break_preview
|
196
|
+
end
|
197
|
+
|
198
|
+
doc = Nokogiri::XML.parse(@ws.sheet_view.to_xml_string)
|
199
|
+
|
200
|
+
assert_equal(1, doc.xpath("//sheetView[@tabSelected='false']").size)
|
201
|
+
|
202
|
+
assert_equal(1, doc.xpath("//sheetView[@tabSelected='false'][@showWhiteSpace='false'][@showOutlineSymbols='false'][@showFormulas='false']
|
203
|
+
[@rightToLeft='false'][@windowProtection='false'][@showZeros='true'][@showRuler='true']
|
204
|
+
[@showRowColHeaders='true'][@showGridLines='true'][@defaultGridColor='true']
|
205
|
+
[@zoomScale='100'][@workbookViewId='0'][@zoomScaleSheetLayoutView='0'][@zoomScalePageLayoutView='0']
|
206
|
+
[@zoomScaleNormal='0'][@view='page_break_preview']").size)
|
207
|
+
end
|
208
|
+
|
209
|
+
def test_add_selection
|
210
|
+
@sv.add_selection(:top_left, :active_cell => "A1")
|
211
|
+
assert_equal('A1', @sv.selections[:top_left].active_cell)
|
212
|
+
end
|
213
|
+
|
214
|
+
end
|
@@ -217,13 +217,6 @@ class TestWorksheet < Test::Unit::TestCase
|
|
217
217
|
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView[@showGridLines="false"]').size, 1)
|
218
218
|
end
|
219
219
|
|
220
|
-
|
221
|
-
def test_to_xml_string_show_selection
|
222
|
-
doc = Nokogiri::XML(@ws.to_xml_string)
|
223
|
-
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView/xmlns:selection[@activeCell="A1"]').size, 1)
|
224
|
-
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView/xmlns:selection[@sqref="A1"]').size, 1)
|
225
|
-
end
|
226
|
-
|
227
220
|
def test_to_xml_string_auto_fit_data
|
228
221
|
@ws.add_row [1, "two"]
|
229
222
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: axlsx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
16
|
-
requirement: &
|
16
|
+
requirement: &2151816940 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.4.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2151816940
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rubyzip
|
27
|
-
requirement: &
|
27
|
+
requirement: &2151815700 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.9.5
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2151815700
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &2151814440 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.8.7
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2151814440
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: cover_me
|
49
|
-
requirement: &
|
49
|
+
requirement: &2151813500 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2151813500
|
58
58
|
description: ! ' xlsx generation with charts, images, automated column width, customizable
|
59
59
|
styles and full schema validation. Axlsx excels at helping you generate beautiful
|
60
60
|
Office Open XML Spreadsheet documents without having to understand the entire ECMA
|
@@ -179,10 +179,13 @@ files:
|
|
179
179
|
- lib/axlsx/workbook/worksheet/icon_set.rb~
|
180
180
|
- lib/axlsx/workbook/worksheet/page_margins.rb
|
181
181
|
- lib/axlsx/workbook/worksheet/page_setup.rb
|
182
|
+
- lib/axlsx/workbook/worksheet/pane.rb
|
182
183
|
- lib/axlsx/workbook/worksheet/print_options.rb
|
183
184
|
- lib/axlsx/workbook/worksheet/row.rb
|
185
|
+
- lib/axlsx/workbook/worksheet/selection.rb
|
184
186
|
- lib/axlsx/workbook/worksheet/shared_strings_table.rb~
|
185
187
|
- lib/axlsx/workbook/worksheet/sheet_protection.rb
|
188
|
+
- lib/axlsx/workbook/worksheet/sheet_view.rb
|
186
189
|
- lib/axlsx/workbook/worksheet/table.rb
|
187
190
|
- lib/axlsx/workbook/worksheet/table.rb~
|
188
191
|
- lib/axlsx/workbook/worksheet/worksheet.rb
|
@@ -225,8 +228,12 @@ files:
|
|
225
228
|
- lib/schema/vml-wordprocessingDrawing.xsd
|
226
229
|
- lib/schema/wml.xsd
|
227
230
|
- lib/schema/xml.xsd
|
231
|
+
- examples/axis-titles.xlsx
|
232
|
+
- examples/basic_charts.rb
|
233
|
+
- examples/basic_charts.xlsx
|
228
234
|
- examples/chart_colors.rb
|
229
235
|
- examples/chart_colors.xlsx
|
236
|
+
- examples/charts.xlsx
|
230
237
|
- examples/conditional_formatting/example_conditional_formatting.rb
|
231
238
|
- examples/conditional_formatting/getting_barred.rb
|
232
239
|
- examples/conditional_formatting/getting_barred.xlsx
|
@@ -252,6 +259,7 @@ files:
|
|
252
259
|
- examples/example_streamed.xlsx
|
253
260
|
- examples/examples_saved.xlsx
|
254
261
|
- examples/extractive.rb
|
262
|
+
- examples/extractive.xlsx
|
255
263
|
- examples/fish.xlsx
|
256
264
|
- examples/image1.gif
|
257
265
|
- examples/image1.jpeg
|
@@ -260,17 +268,18 @@ files:
|
|
260
268
|
- examples/no-use_autowidth.xlsx
|
261
269
|
- examples/pareto.rb
|
262
270
|
- examples/pareto.xlsx
|
263
|
-
- examples/
|
264
|
-
- examples/pie_chart.xlsx
|
271
|
+
- examples/pie_chart_excel.xlsx
|
265
272
|
- examples/pie_chart_saved.xlsx
|
266
273
|
- examples/sample.png
|
267
274
|
- examples/shared_strings_example.xlsx
|
268
275
|
- examples/sheet_protection.rb
|
269
276
|
- examples/sheet_protection.xlsx
|
277
|
+
- examples/sheet_view.rb
|
278
|
+
- examples/sheet_view.xlsx
|
270
279
|
- examples/skydrive/real_example.rb
|
271
280
|
- examples/two_cell_anchor_image.rb
|
272
281
|
- examples/two_cell_anchor_image.xlsx
|
273
|
-
- examples/~$
|
282
|
+
- examples/~$example.xlsx
|
274
283
|
- LICENSE
|
275
284
|
- README.md
|
276
285
|
- Rakefile
|
@@ -371,9 +380,12 @@ files:
|
|
371
380
|
- test/workbook/worksheet/tc_icon_set.rb~
|
372
381
|
- test/workbook/worksheet/tc_page_margins.rb
|
373
382
|
- test/workbook/worksheet/tc_page_setup.rb
|
383
|
+
- test/workbook/worksheet/tc_pane.rb
|
374
384
|
- test/workbook/worksheet/tc_print_options.rb
|
375
385
|
- test/workbook/worksheet/tc_row.rb
|
386
|
+
- test/workbook/worksheet/tc_selection.rb
|
376
387
|
- test/workbook/worksheet/tc_sheet_protection.rb
|
388
|
+
- test/workbook/worksheet/tc_sheet_view.rb
|
377
389
|
- test/workbook/worksheet/tc_worksheet.rb
|
378
390
|
homepage: https://github.com/randym/axlsx
|
379
391
|
licenses: []
|
@@ -495,8 +507,11 @@ test_files:
|
|
495
507
|
- test/workbook/worksheet/tc_icon_set.rb~
|
496
508
|
- test/workbook/worksheet/tc_page_margins.rb
|
497
509
|
- test/workbook/worksheet/tc_page_setup.rb
|
510
|
+
- test/workbook/worksheet/tc_pane.rb
|
498
511
|
- test/workbook/worksheet/tc_print_options.rb
|
499
512
|
- test/workbook/worksheet/tc_row.rb
|
513
|
+
- test/workbook/worksheet/tc_selection.rb
|
500
514
|
- test/workbook/worksheet/tc_sheet_protection.rb
|
515
|
+
- test/workbook/worksheet/tc_sheet_view.rb
|
501
516
|
- test/workbook/worksheet/tc_worksheet.rb
|
502
517
|
has_rdoc: axlsx
|
data/examples/pie_chart.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
|
2
|
-
require 'axlsx'
|
3
|
-
p = Axlsx::Package.new
|
4
|
-
wb = p.workbook
|
5
|
-
##Generating A Pie Chart
|
6
|
-
#```ruby
|
7
|
-
wb.add_worksheet(:name => "Pie Chart") do |sheet|
|
8
|
-
sheet.add_row ["First", "Second", "Third", "Fourth"]
|
9
|
-
sheet.add_row [1, 2, 3, "=PRODUCT(A2:C2)"]
|
10
|
-
sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,2], :end_at => [5, 15], :title => "example 3: Pie Chart") do |chart|
|
11
|
-
chart.add_series :data => sheet["A2:D2"], :labels => sheet["A1:D1"]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
p.serialize('pie_chart.xlsx')
|
16
|
-
#
|
data/examples/pie_chart.xlsx
DELETED
Binary file
|
Binary file
|