write_xlsx 0.62.0 → 0.64.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +14 -1
- data/examples/chart_data_tools.rb +215 -0
- data/examples/chart_pie.rb +36 -5
- data/examples/sparklines2.rb +1 -1
- data/examples/tab_colors.rb +3 -3
- data/lib/write_xlsx/chart.rb +559 -516
- data/lib/write_xlsx/chart/area.rb +4 -1
- data/lib/write_xlsx/chart/axis.rb +132 -0
- data/lib/write_xlsx/chart/bar.rb +17 -9
- data/lib/write_xlsx/chart/column.rb +9 -1
- data/lib/write_xlsx/chart/line.rb +24 -0
- data/lib/write_xlsx/chart/radar.rb +2 -2
- data/lib/write_xlsx/chart/scatter.rb +19 -0
- data/lib/write_xlsx/chart/stock.rb +10 -3
- data/lib/write_xlsx/drawing.rb +43 -44
- data/lib/write_xlsx/package/vml.rb +21 -14
- data/lib/write_xlsx/shape.rb +173 -22
- data/lib/write_xlsx/sparkline.rb +524 -0
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +183 -115
- data/lib/write_xlsx/worksheet.rb +821 -1073
- data/lib/write_xlsx/worksheet/cell_data.rb +132 -0
- data/lib/write_xlsx/worksheet/print_style.rb +51 -0
- data/test/chart/test_add_series.rb +31 -6
- data/test/chart/test_write_d_lbls.rb +18 -18
- data/test/chart/test_write_number_format.rb +20 -24
- data/test/drawing/test_drawing_shape_01.rb +1 -1
- data/test/drawing/test_drawing_shape_02.rb +2 -2
- data/test/drawing/test_drawing_shape_03.rb +5 -5
- data/test/drawing/test_drawing_shape_04.rb +3 -3
- data/test/drawing/test_drawing_shape_05.rb +4 -4
- data/test/drawing/test_drawing_shape_07.rb +2 -2
- data/test/perl_output/chart_data_tools.xlsx +0 -0
- data/test/perl_output/chart_pie.xlsx +0 -0
- data/test/regression/disabled_test_vml04.rb +2 -2
- data/test/regression/test_chart_drop_lines01.rb +46 -0
- data/test/regression/test_chart_drop_lines02.rb +51 -0
- data/test/regression/test_chart_drop_lines03.rb +46 -0
- data/test/regression/test_chart_drop_lines04.rb +64 -0
- data/test/regression/test_chart_errorbars01.rb +47 -0
- data/test/regression/test_chart_errorbars02.rb +57 -0
- data/test/regression/test_chart_errorbars03.rb +53 -0
- data/test/regression/test_chart_errorbars04.rb +48 -0
- data/test/regression/test_chart_errorbars05.rb +47 -0
- data/test/regression/test_chart_errorbars06.rb +47 -0
- data/test/regression/test_chart_errorbars07.rb +66 -0
- data/test/regression/test_chart_font02.rb +1 -1
- data/test/regression/test_chart_font06.rb +1 -1
- data/test/regression/test_chart_gridlines04.rb +2 -1
- data/test/regression/test_chart_gridlines08.rb +2 -1
- data/test/regression/test_chart_points01.rb +37 -0
- data/test/regression/test_chart_points02.rb +40 -0
- data/test/regression/test_chart_points03.rb +42 -0
- data/test/regression/test_chart_points04.rb +52 -0
- data/test/regression/test_chart_points05.rb +49 -0
- data/test/regression/test_chart_points06.rb +49 -0
- data/test/regression/test_chartsheet05.rb +1 -1
- data/test/regression/test_chartsheet06.rb +1 -1
- data/test/regression/test_comment01.rb +1 -1
- data/test/regression/test_comment02.rb +1 -1
- data/test/regression/test_comment03.rb +1 -1
- data/test/regression/test_comment04.rb +2 -2
- data/test/regression/test_comment06.rb +1 -1
- data/test/regression/test_comment07.rb +1 -1
- data/test/regression/test_comment08.rb +1 -1
- data/test/regression/test_comment09.rb +1 -1
- data/test/regression/test_comment10.rb +1 -1
- data/test/regression/test_default_row04.rb +1 -1
- data/test/regression/test_escapes02.rb +1 -1
- data/test/regression/test_hyperlink15.rb +2 -2
- data/test/regression/test_shape_connect01.rb +6 -6
- data/test/regression/test_shape_connect02.rb +6 -6
- data/test/regression/test_shape_connect03.rb +11 -11
- data/test/regression/test_shape_connect04.rb +10 -10
- data/test/regression/test_shape_scale01.rb +2 -2
- data/test/regression/test_shape_stencil01.rb +3 -3
- data/test/regression/test_tab_color01.rb +1 -1
- data/test/regression/test_table04.rb +1 -1
- data/test/regression/test_table05.rb +1 -1
- data/test/regression/test_table06.rb +1 -1
- data/test/regression/test_vml01.rb +1 -1
- data/test/regression/test_vml02.rb +1 -1
- data/test/regression/test_vml03.rb +2 -2
- data/test/regression/xlsx_files/chart_drop_lines01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_drop_lines02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_drop_lines03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_drop_lines04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_stock02.xlsx +0 -0
- data/test/test_example_match.rb +278 -57
- data/test/worksheet/test_convert_date_time_02.rb +427 -433
- data/test/worksheet/test_convert_date_time_03.rb +1 -1
- data/test/worksheet/test_write_sheet_pr.rb +2 -2
- data/test/worksheet/test_write_sheet_view1.rb +2 -2
- metadata +80 -10
@@ -0,0 +1,132 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
module Writexlsx
|
4
|
+
class Worksheet
|
5
|
+
class CellData # :nodoc:
|
6
|
+
include Writexlsx::Utility
|
7
|
+
|
8
|
+
attr_reader :row, :col, :token, :xf
|
9
|
+
attr_reader :result, :range, :link_type, :url, :tip
|
10
|
+
|
11
|
+
#
|
12
|
+
# attributes for the <cell> element. This is the innermost loop so efficiency is
|
13
|
+
# important where possible.
|
14
|
+
#
|
15
|
+
def cell_attributes #:nodoc:
|
16
|
+
xf_index = xf ? xf.get_xf_index : 0
|
17
|
+
attributes = ['r', xl_rowcol_to_cell(row, col)]
|
18
|
+
|
19
|
+
# Add the cell format index.
|
20
|
+
if xf_index != 0
|
21
|
+
attributes << 's' << xf_index
|
22
|
+
elsif @worksheet.set_rows[row] && @worksheet.set_rows[row][1]
|
23
|
+
row_xf = @worksheet.set_rows[row][1]
|
24
|
+
attributes << 's' << row_xf.get_xf_index
|
25
|
+
elsif @worksheet.col_formats[col]
|
26
|
+
col_xf = @worksheet.col_formats[col]
|
27
|
+
attributes << 's' << col_xf.get_xf_index
|
28
|
+
end
|
29
|
+
attributes
|
30
|
+
end
|
31
|
+
|
32
|
+
def display_url_string?
|
33
|
+
true
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class NumberCellData < CellData # :nodoc:
|
38
|
+
def initialize(worksheet, row, col, num, xf)
|
39
|
+
@worksheet = worksheet
|
40
|
+
@row, @col, @token, @xf = row, col, num, xf
|
41
|
+
end
|
42
|
+
|
43
|
+
def data
|
44
|
+
@token
|
45
|
+
end
|
46
|
+
|
47
|
+
def write_cell
|
48
|
+
@worksheet.writer.tag_elements('c', cell_attributes) do
|
49
|
+
@worksheet.write_cell_value(token)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
class StringCellData < CellData # :nodoc:
|
55
|
+
def initialize(worksheet, row, col, index, xf)
|
56
|
+
@worksheet = worksheet
|
57
|
+
@row, @col, @token, @xf = row, col, index, xf
|
58
|
+
end
|
59
|
+
|
60
|
+
def data
|
61
|
+
{ :sst_id => token }
|
62
|
+
end
|
63
|
+
|
64
|
+
def write_cell
|
65
|
+
attributes = cell_attributes
|
66
|
+
attributes << 't' << 's'
|
67
|
+
@worksheet.writer.tag_elements('c', attributes) do
|
68
|
+
@worksheet.write_cell_value(token)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def display_url_string?
|
73
|
+
false
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
class FormulaCellData < CellData # :nodoc:
|
78
|
+
def initialize(worksheet, row, col, formula, xf, result)
|
79
|
+
@worksheet = worksheet
|
80
|
+
@row, @col, @token, @xf, @result = row, col, formula, xf, result
|
81
|
+
end
|
82
|
+
|
83
|
+
def data
|
84
|
+
@result || 0
|
85
|
+
end
|
86
|
+
|
87
|
+
def write_cell
|
88
|
+
attributes = cell_attributes
|
89
|
+
if @result && !(@result.to_s =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/)
|
90
|
+
attributes << 't' << 'str'
|
91
|
+
end
|
92
|
+
@worksheet.writer.tag_elements('c', attributes) do
|
93
|
+
@worksheet.write_cell_formula(token)
|
94
|
+
@worksheet.write_cell_value(result || 0)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
class FormulaArrayCellData < CellData # :nodoc:
|
100
|
+
def initialize(worksheet, row, col, formula, xf, range, result)
|
101
|
+
@worksheet = worksheet
|
102
|
+
@row, @col, @token, @xf, @range, @result = row, col, formula, xf, range, result
|
103
|
+
end
|
104
|
+
|
105
|
+
def data
|
106
|
+
@result || 0
|
107
|
+
end
|
108
|
+
|
109
|
+
def write_cell
|
110
|
+
@worksheet.writer.tag_elements('c', cell_attributes) do
|
111
|
+
@worksheet.write_cell_array_formula(token, range)
|
112
|
+
@worksheet.write_cell_value(result)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
class BlankCellData < CellData # :nodoc:
|
118
|
+
def initialize(worksheet, row, col, index, xf)
|
119
|
+
@worksheet = worksheet
|
120
|
+
@row, @col, @xf = row, col, xf
|
121
|
+
end
|
122
|
+
|
123
|
+
def data
|
124
|
+
''
|
125
|
+
end
|
126
|
+
|
127
|
+
def write_cell
|
128
|
+
@worksheet.writer.empty_tag('c', cell_attributes)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
module Writexlsx
|
4
|
+
class Worksheet
|
5
|
+
class PrintStyle # :nodoc:
|
6
|
+
attr_accessor :margin_left, :margin_right, :margin_top, :margin_bottom # :nodoc:
|
7
|
+
attr_accessor :margin_header, :margin_footer # :nodoc:
|
8
|
+
attr_accessor :repeat_rows, :repeat_cols, :print_area # :nodoc:
|
9
|
+
attr_accessor :hbreaks, :vbreaks, :scale # :nodoc:
|
10
|
+
attr_accessor :fit_page, :fit_width, :fit_height, :page_setup_changed # :nodoc:
|
11
|
+
attr_accessor :across # :nodoc:
|
12
|
+
attr_accessor :orientation # :nodoc:
|
13
|
+
|
14
|
+
def initialize # :nodoc:
|
15
|
+
@margin_left = 0.7
|
16
|
+
@margin_right = 0.7
|
17
|
+
@margin_top = 0.75
|
18
|
+
@margin_bottom = 0.75
|
19
|
+
@margin_header = 0.3
|
20
|
+
@margin_footer = 0.3
|
21
|
+
@repeat_rows = ''
|
22
|
+
@repeat_cols = ''
|
23
|
+
@print_area = ''
|
24
|
+
@hbreaks = []
|
25
|
+
@vbreaks = []
|
26
|
+
@scale = 100
|
27
|
+
@fit_page = false
|
28
|
+
@fit_width = nil
|
29
|
+
@fit_height = nil
|
30
|
+
@page_setup_changed = false
|
31
|
+
@across = false
|
32
|
+
@orientation = true
|
33
|
+
end
|
34
|
+
|
35
|
+
def attributes # :nodoc:
|
36
|
+
[
|
37
|
+
'left', @margin_left,
|
38
|
+
'right', @margin_right,
|
39
|
+
'top', @margin_top,
|
40
|
+
'bottom', @margin_bottom,
|
41
|
+
'header', @margin_header,
|
42
|
+
'footer', @margin_footer
|
43
|
+
]
|
44
|
+
end
|
45
|
+
|
46
|
+
def orientation?
|
47
|
+
!!@orientation
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -23,7 +23,12 @@ def test_add_series_only_values
|
|
23
23
|
:_labels => nil,
|
24
24
|
:_invert_if_neg => nil,
|
25
25
|
:_x2_axis => nil,
|
26
|
-
:_y2_axis => nil
|
26
|
+
:_y2_axis => nil,
|
27
|
+
:_error_bars => {
|
28
|
+
:_x_error_bars => nil,
|
29
|
+
:_y_error_bars => nil
|
30
|
+
},
|
31
|
+
:_points => nil
|
27
32
|
}
|
28
33
|
|
29
34
|
@chart.add_series(:values => '=Sheet1!$A$1:$A$5')
|
@@ -49,7 +54,12 @@ def test_add_series_with_categories_and_values
|
|
49
54
|
:_labels => nil,
|
50
55
|
:_invert_if_neg => nil,
|
51
56
|
:_x2_axis => nil,
|
52
|
-
:_y2_axis => nil
|
57
|
+
:_y2_axis => nil,
|
58
|
+
:_error_bars => {
|
59
|
+
:_x_error_bars => nil,
|
60
|
+
:_y_error_bars => nil
|
61
|
+
},
|
62
|
+
:_points => nil
|
53
63
|
}
|
54
64
|
]
|
55
65
|
|
@@ -80,7 +90,12 @@ def test_add_series_only_values_checked_by_array
|
|
80
90
|
:_labels => nil,
|
81
91
|
:_invert_if_neg => nil,
|
82
92
|
:_x2_axis => nil,
|
83
|
-
:_y2_axis => nil
|
93
|
+
:_y2_axis => nil,
|
94
|
+
:_error_bars => {
|
95
|
+
:_x_error_bars => nil,
|
96
|
+
:_y_error_bars => nil
|
97
|
+
},
|
98
|
+
:_points => nil
|
84
99
|
}
|
85
100
|
]
|
86
101
|
|
@@ -106,8 +121,13 @@ def test_add_series_both_checked_by_array
|
|
106
121
|
:_labels => nil,
|
107
122
|
:_invert_if_neg => nil,
|
108
123
|
:_x2_axis => nil,
|
109
|
-
:_y2_axis => nil
|
110
|
-
|
124
|
+
:_y2_axis => nil,
|
125
|
+
:_error_bars => {
|
126
|
+
:_x_error_bars => nil,
|
127
|
+
:_y_error_bars => nil
|
128
|
+
},
|
129
|
+
:_points => nil
|
130
|
+
}
|
111
131
|
|
112
132
|
@chart.add_series(
|
113
133
|
:categories => [ 'Sheet1', 0, 4, 0, 0 ],
|
@@ -135,7 +155,12 @@ def test_add_series_secondary_axis
|
|
135
155
|
:_labels => nil,
|
136
156
|
:_invert_if_neg => nil,
|
137
157
|
:_x2_axis => 1,
|
138
|
-
:_y2_axis => 1
|
158
|
+
:_y2_axis => 1,
|
159
|
+
:_error_bars => {
|
160
|
+
:_x_error_bars => nil,
|
161
|
+
:_y_error_bars => nil
|
162
|
+
},
|
163
|
+
:_points => nil
|
139
164
|
}
|
140
165
|
|
141
166
|
@chart.add_series(
|
@@ -10,7 +10,7 @@ def setup
|
|
10
10
|
def test_write_d_lbls_value_only
|
11
11
|
expected = '<c:dLbls><c:showVal val="1"/></c:dLbls>'
|
12
12
|
|
13
|
-
labels = @chart.__send__(:
|
13
|
+
labels = @chart.__send__(:labels_properties, :value => 1)
|
14
14
|
@chart.__send__(:write_d_lbls, labels)
|
15
15
|
|
16
16
|
result = chart_writer_string
|
@@ -20,7 +20,7 @@ def test_write_d_lbls_value_only
|
|
20
20
|
def test_write_d_lbls_series_name_only
|
21
21
|
expected = '<c:dLbls><c:showSerName val="1"/></c:dLbls>'
|
22
22
|
|
23
|
-
labels = @chart.__send__(:
|
23
|
+
labels = @chart.__send__(:labels_properties, :series_name => 1)
|
24
24
|
@chart.__send__(:write_d_lbls, labels)
|
25
25
|
|
26
26
|
result = chart_writer_string
|
@@ -30,7 +30,7 @@ def test_write_d_lbls_series_name_only
|
|
30
30
|
def test_write_d_lbls_category_only
|
31
31
|
expected = '<c:dLbls><c:showCatName val="1"/></c:dLbls>'
|
32
32
|
|
33
|
-
labels = @chart.__send__(:
|
33
|
+
labels = @chart.__send__(:labels_properties, :category => 1)
|
34
34
|
@chart.__send__(:write_d_lbls, labels)
|
35
35
|
|
36
36
|
result = chart_writer_string
|
@@ -40,7 +40,7 @@ def test_write_d_lbls_category_only
|
|
40
40
|
def test_write_d_lbls_value_category_and_series
|
41
41
|
expected = '<c:dLbls><c:showVal val="1"/><c:showCatName val="1"/><c:showSerName val="1"/></c:dLbls>'
|
42
42
|
|
43
|
-
labels = @chart.__send__(:
|
43
|
+
labels = @chart.__send__(:labels_properties,
|
44
44
|
{
|
45
45
|
:value => 1,
|
46
46
|
:category => 1,
|
@@ -56,7 +56,7 @@ def test_write_d_lbls_value_category_and_series
|
|
56
56
|
def test_write_d_lbls_position_center
|
57
57
|
expected = '<c:dLbls><c:dLblPos val="ctr"/><c:showVal val="1"/></c:dLbls>'
|
58
58
|
|
59
|
-
labels = @chart.__send__(:
|
59
|
+
labels = @chart.__send__(:labels_properties,
|
60
60
|
{
|
61
61
|
:value => 1,
|
62
62
|
:position => 'center'
|
@@ -71,7 +71,7 @@ def test_write_d_lbls_position_center
|
|
71
71
|
def test_write_d_lbls_position_left
|
72
72
|
expected = '<c:dLbls><c:dLblPos val="l"/><c:showVal val="1"/></c:dLbls>'
|
73
73
|
|
74
|
-
labels = @chart.__send__(:
|
74
|
+
labels = @chart.__send__(:labels_properties,
|
75
75
|
{
|
76
76
|
:value => 1,
|
77
77
|
:position => 'left'
|
@@ -86,7 +86,7 @@ def test_write_d_lbls_position_left
|
|
86
86
|
def test_write_d_lbls_position_right
|
87
87
|
expected = '<c:dLbls><c:dLblPos val="r"/><c:showVal val="1"/></c:dLbls>'
|
88
88
|
|
89
|
-
labels = @chart.__send__(:
|
89
|
+
labels = @chart.__send__(:labels_properties,
|
90
90
|
{
|
91
91
|
:value => 1,
|
92
92
|
:position => 'right'
|
@@ -101,7 +101,7 @@ def test_write_d_lbls_position_right
|
|
101
101
|
def test_write_d_lbls_position_top
|
102
102
|
expected = '<c:dLbls><c:dLblPos val="t"/><c:showVal val="1"/></c:dLbls>'
|
103
103
|
|
104
|
-
labels = @chart.__send__(:
|
104
|
+
labels = @chart.__send__(:labels_properties,
|
105
105
|
{
|
106
106
|
:value => 1,
|
107
107
|
:position => 'top'
|
@@ -116,7 +116,7 @@ def test_write_d_lbls_position_top
|
|
116
116
|
def test_write_d_lbls_position_above
|
117
117
|
expected = '<c:dLbls><c:dLblPos val="t"/><c:showVal val="1"/></c:dLbls>'
|
118
118
|
|
119
|
-
labels = @chart.__send__(:
|
119
|
+
labels = @chart.__send__(:labels_properties,
|
120
120
|
{
|
121
121
|
:value => 1,
|
122
122
|
:position => 'above'
|
@@ -131,7 +131,7 @@ def test_write_d_lbls_position_above
|
|
131
131
|
def test_write_d_lbls_position_bottom
|
132
132
|
expected = '<c:dLbls><c:dLblPos val="b"/><c:showVal val="1"/></c:dLbls>'
|
133
133
|
|
134
|
-
labels = @chart.__send__(:
|
134
|
+
labels = @chart.__send__(:labels_properties,
|
135
135
|
{
|
136
136
|
:value => 1,
|
137
137
|
:position => 'bottom'
|
@@ -146,7 +146,7 @@ def test_write_d_lbls_position_bottom
|
|
146
146
|
def test_write_d_lbls_position_below
|
147
147
|
expected = '<c:dLbls><c:dLblPos val="b"/><c:showVal val="1"/></c:dLbls>'
|
148
148
|
|
149
|
-
labels = @chart.__send__(:
|
149
|
+
labels = @chart.__send__(:labels_properties,
|
150
150
|
{
|
151
151
|
:value => 1,
|
152
152
|
:position => 'below'
|
@@ -161,7 +161,7 @@ def test_write_d_lbls_position_below
|
|
161
161
|
def test_write_d_lbls_pie
|
162
162
|
expected = '<c:dLbls><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
|
163
163
|
|
164
|
-
labels = @chart.__send__(:
|
164
|
+
labels = @chart.__send__(:labels_properties,
|
165
165
|
{
|
166
166
|
:value => 1,
|
167
167
|
:leader_lines => 1
|
@@ -176,7 +176,7 @@ def test_write_d_lbls_pie
|
|
176
176
|
def test_write_d_lbls_pie_position_empty
|
177
177
|
expected = '<c:dLbls><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
|
178
178
|
|
179
|
-
labels = @chart.__send__(:
|
179
|
+
labels = @chart.__send__(:labels_properties,
|
180
180
|
{
|
181
181
|
:value => 1,
|
182
182
|
:leader_lines => 1,
|
@@ -192,7 +192,7 @@ def test_write_d_lbls_pie_position_empty
|
|
192
192
|
def test_write_d_lbls_pie_position_center
|
193
193
|
expected = '<c:dLbls><c:dLblPos val="ctr"/><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
|
194
194
|
|
195
|
-
labels = @chart.__send__(:
|
195
|
+
labels = @chart.__send__(:labels_properties,
|
196
196
|
{
|
197
197
|
:value => 1,
|
198
198
|
:leader_lines => 1,
|
@@ -208,7 +208,7 @@ def test_write_d_lbls_pie_position_center
|
|
208
208
|
def test_write_d_lbls_pie_position_inside_end
|
209
209
|
expected = '<c:dLbls><c:dLblPos val="inEnd"/><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
|
210
210
|
|
211
|
-
labels = @chart.__send__(:
|
211
|
+
labels = @chart.__send__(:labels_properties,
|
212
212
|
{
|
213
213
|
:value => 1,
|
214
214
|
:leader_lines => 1,
|
@@ -224,7 +224,7 @@ def test_write_d_lbls_pie_position_inside_end
|
|
224
224
|
def test_write_d_lbls_pie_position_outside_end
|
225
225
|
expected = '<c:dLbls><c:dLblPos val="outEnd"/><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
|
226
226
|
|
227
|
-
labels = @chart.__send__(:
|
227
|
+
labels = @chart.__send__(:labels_properties,
|
228
228
|
{
|
229
229
|
:value => 1,
|
230
230
|
:leader_lines => 1,
|
@@ -240,7 +240,7 @@ def test_write_d_lbls_pie_position_outside_end
|
|
240
240
|
def test_write_d_lbls_pie_position_best_fit
|
241
241
|
expected = '<c:dLbls><c:dLblPos val="bestFit"/><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
|
242
242
|
|
243
|
-
labels = @chart.__send__(:
|
243
|
+
labels = @chart.__send__(:labels_properties,
|
244
244
|
{
|
245
245
|
:value => 1,
|
246
246
|
:leader_lines => 1,
|
@@ -256,7 +256,7 @@ def test_write_d_lbls_pie_position_best_fit
|
|
256
256
|
def test_write_d_lbls_pie_percentage
|
257
257
|
expected = '<c:dLbls><c:showPercent val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
|
258
258
|
|
259
|
-
labels = @chart.__send__(:
|
259
|
+
labels = @chart.__send__(:labels_properties,
|
260
260
|
{
|
261
261
|
:leader_lines => 1,
|
262
262
|
:percentage => 1
|
@@ -8,46 +8,42 @@ def setup
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def test_write_number_format
|
11
|
+
axis = Writexlsx::Chart::Axis.new
|
12
|
+
axis.num_format = 'General'
|
13
|
+
axis.defaults = { :num_format => 'General' }
|
14
|
+
|
11
15
|
expected = '<c:numFmt formatCode="General" sourceLinked="1"/>'
|
12
|
-
result = @chart.__send__('write_number_format',
|
13
|
-
{
|
14
|
-
:_num_format => 'General',
|
15
|
-
:defaults => { :num_format => 'General' }
|
16
|
-
}
|
17
|
-
)
|
16
|
+
result = @chart.__send__('write_number_format', axis)
|
18
17
|
assert_equal(expected, result)
|
19
18
|
end
|
20
19
|
|
21
20
|
def test_write_number_format02
|
21
|
+
axis = Writexlsx::Chart::Axis.new
|
22
|
+
axis.num_format = '#,##0.00'
|
23
|
+
axis.defaults = { :num_format => 'General' }
|
24
|
+
|
22
25
|
expected = '<c:numFmt formatCode="#,##0.00" sourceLinked="0"/>'
|
23
|
-
result = @chart.__send__('write_number_format',
|
24
|
-
{
|
25
|
-
:_num_format => '#,##0.00',
|
26
|
-
:_defaults => { :num_format => 'General' }
|
27
|
-
}
|
28
|
-
)
|
26
|
+
result = @chart.__send__('write_number_format', axis)
|
29
27
|
assert_equal(expected, result)
|
30
28
|
end
|
31
29
|
|
32
30
|
def test_write_number_format03
|
31
|
+
axis = Writexlsx::Chart::Axis.new
|
32
|
+
axis.num_format = 'General'
|
33
|
+
axis.defaults = { :num_format => 'General' }
|
34
|
+
|
33
35
|
expected = ''
|
34
|
-
result = @chart.__send__('write_cat_number_format',
|
35
|
-
{
|
36
|
-
:_num_format => 'General',
|
37
|
-
:_defaults => { :num_format => 'General' }
|
38
|
-
}
|
39
|
-
)
|
36
|
+
result = @chart.__send__('write_cat_number_format', axis)
|
40
37
|
assert_equal(expected, result)
|
41
38
|
end
|
42
39
|
|
43
40
|
def test_write_number_format04
|
41
|
+
axis = Writexlsx::Chart::Axis.new
|
42
|
+
axis.num_format = '#,##0.00'
|
43
|
+
axis.defaults = { :num_format => 'General' }
|
44
|
+
|
44
45
|
expected = '<c:numFmt formatCode="#,##0.00" sourceLinked="0"/>'
|
45
|
-
result = @chart.__send__('write_cat_number_format',
|
46
|
-
{
|
47
|
-
:_num_format => '#,##0.00',
|
48
|
-
:_defaults => { :num_format => 'General' }
|
49
|
-
}
|
50
|
-
)
|
46
|
+
result = @chart.__send__('write_cat_number_format', axis)
|
51
47
|
assert_equal(expected, result)
|
52
48
|
end
|
53
49
|
end
|