write_xlsx 0.81.1 → 0.83.0
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.
- checksums.yaml +4 -4
- data/.travis.yml +8 -0
- data/Changes +20 -0
- data/README.md +3 -2
- data/examples/chart_combined.rb +107 -0
- data/examples/chart_data_table.rb +1 -1
- data/examples/chart_pareto.rb +82 -0
- data/lib/write_xlsx/chart.rb +115 -42
- data/lib/write_xlsx/chart/axis.rb +5 -1
- data/lib/write_xlsx/chart/bar.rb +13 -0
- data/lib/write_xlsx/chart/pie.rb +7 -0
- data/lib/write_xlsx/chart/scatter.rb +25 -57
- data/lib/write_xlsx/format.rb +40 -0
- data/lib/write_xlsx/package/app.rb +39 -1
- data/lib/write_xlsx/package/comments.rb +1 -5
- data/lib/write_xlsx/package/content_types.rb +48 -13
- data/lib/write_xlsx/package/core.rb +14 -12
- data/lib/write_xlsx/package/packager.rb +17 -41
- data/lib/write_xlsx/package/styles.rb +215 -256
- data/lib/write_xlsx/package/table.rb +5 -7
- data/lib/write_xlsx/package/xml_writer_simple.rb +2 -0
- data/lib/write_xlsx/sheets.rb +2 -2
- data/lib/write_xlsx/utility.rb +17 -2
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +44 -2
- data/lib/write_xlsx/worksheet.rb +26 -17
- data/lib/write_xlsx/worksheet/page_setup.rb +12 -6
- data/test/chart/test_write_style.rb +2 -2
- data/test/helper.rb +3 -0
- data/test/package/app/test_app01.rb +1 -1
- data/test/package/app/test_app02.rb +1 -1
- data/test/package/app/test_app03.rb +1 -1
- data/test/package/content_types/test_content_types.rb +1 -1
- data/test/package/content_types/test_write_default.rb +1 -1
- data/test/package/content_types/test_write_override.rb +1 -1
- data/test/perl_output/chart_combined.xlsx +0 -0
- data/test/perl_output/chart_pareto.xlsx +0 -0
- data/test/regression/test_button07.rb +5 -2
- data/test/regression/test_button13.rb +34 -0
- data/test/regression/test_button14.rb +31 -0
- data/test/regression/test_chart_column11.rb +45 -0
- data/test/regression/test_chart_column12.rb +45 -0
- data/test/regression/test_chart_combined01.rb +37 -0
- data/test/regression/test_chart_combined02.rb +43 -0
- data/test/regression/test_chart_combined03.rb +45 -0
- data/test/regression/test_chart_combined04.rb +47 -0
- data/test/regression/test_chart_combined05.rb +49 -0
- data/test/regression/test_chart_combined06.rb +49 -0
- data/test/regression/test_chart_combined07.rb +53 -0
- data/test/regression/test_chart_combined08.rb +65 -0
- data/test/regression/test_chart_data_labels24.rb +50 -0
- data/test/regression/test_chart_date05.rb +57 -0
- data/test/regression/test_chart_format20.rb +55 -0
- data/test/regression/test_format11.rb +28 -0
- data/test/regression/test_format12.rb +41 -0
- data/test/regression/test_landscape01.rb +27 -0
- data/test/regression/test_quote_name04.rb +40 -0
- data/test/regression/test_set_start_page01.rb +4 -7
- data/test/regression/test_set_start_page02.rb +33 -0
- data/test/regression/test_set_start_page03.rb +33 -0
- data/test/regression/test_table17.rb +70 -0
- data/test/regression/xlsx_files/chart_column11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_date05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format20.xlsx +0 -0
- data/test/regression/xlsx_files/format11.xlsx +0 -0
- data/test/regression/xlsx_files/format12.xlsx +0 -0
- data/test/regression/xlsx_files/landscape01.xlsx +0 -0
- data/test/regression/xlsx_files/quote_name04.xlsx +0 -0
- data/test/regression/xlsx_files/set_start_page01.xlsx +0 -0
- data/test/regression/xlsx_files/set_start_page02.xlsx +0 -0
- data/test/regression/xlsx_files/set_start_page03.xlsx +0 -0
- data/test/regression/xlsx_files/table17.xlsx +0 -0
- data/test/test_example_match.rb +172 -0
- data/write_xlsx.gemspec +1 -0
- metadata +106 -3
@@ -0,0 +1,45 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartColumn11 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_column11
|
14
|
+
@xlsx = 'chart_column11.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart = workbook.add_chart(:type => 'column', :embedded => 1)
|
18
|
+
|
19
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
20
|
+
chart.instance_variable_set(:@axis_ids, [46847488, 46849408])
|
21
|
+
|
22
|
+
data = [
|
23
|
+
[1, 2, 3, 4, 5],
|
24
|
+
[2, 4, 6, 8, 10],
|
25
|
+
[3, 6, 9, 12, 15]
|
26
|
+
]
|
27
|
+
|
28
|
+
worksheet.write('A1', data)
|
29
|
+
|
30
|
+
chart.add_series(:values => '=Sheet1!$A$1:$A$5')
|
31
|
+
chart.add_series(:values => '=Sheet1!$B$1:$B$5')
|
32
|
+
chart.add_series(:values => '=Sheet1!$C$1:$C$5')
|
33
|
+
|
34
|
+
chart.set_style(1)
|
35
|
+
|
36
|
+
worksheet.insert_chart('E9', chart)
|
37
|
+
|
38
|
+
workbook.close
|
39
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx),
|
40
|
+
@xlsx,
|
41
|
+
nil,
|
42
|
+
nil
|
43
|
+
)
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartColumn12 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_column12
|
14
|
+
@xlsx = 'chart_column12.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart = workbook.add_chart(:type => 'column', :embedded => 1)
|
18
|
+
|
19
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
20
|
+
chart.instance_variable_set(:@axis_ids, [46847488, 46849408])
|
21
|
+
|
22
|
+
data = [
|
23
|
+
[1, 2, 3, 4, 5],
|
24
|
+
[2, 4, 6, 8, 10],
|
25
|
+
[3, 6, 9, 12, 15]
|
26
|
+
]
|
27
|
+
|
28
|
+
worksheet.write('A1', data)
|
29
|
+
|
30
|
+
chart.add_series(:values => '=Sheet1!$A$1:$A$5')
|
31
|
+
chart.add_series(:values => '=Sheet1!$B$1:$B$5')
|
32
|
+
chart.add_series(:values => '=Sheet1!$C$1:$C$5')
|
33
|
+
|
34
|
+
chart.set_style(48)
|
35
|
+
|
36
|
+
worksheet.insert_chart('E9', chart)
|
37
|
+
|
38
|
+
workbook.close
|
39
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx),
|
40
|
+
@xlsx,
|
41
|
+
nil,
|
42
|
+
nil
|
43
|
+
)
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartCombined01 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_combined01
|
14
|
+
@xlsx = 'chart_combined01.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart1 = workbook.add_chart(:type => 'column', :embedded => 1)
|
18
|
+
|
19
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
20
|
+
chart1.instance_variable_set(:@axis_ids, [84882560, 84884096])
|
21
|
+
|
22
|
+
data = [
|
23
|
+
[ 2, 7, 3, 6, 2 ],
|
24
|
+
[ 20, 25, 10, 10, 20 ]
|
25
|
+
]
|
26
|
+
|
27
|
+
worksheet.write('A1', data)
|
28
|
+
|
29
|
+
chart1.add_series(:values => '=Sheet1!$A$1:$A$5')
|
30
|
+
chart1.add_series(:values => '=Sheet1!$B$1:$B$5')
|
31
|
+
|
32
|
+
worksheet.insert_chart('E9', chart1)
|
33
|
+
|
34
|
+
workbook.close
|
35
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartCombined02 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_combined02
|
14
|
+
@xlsx = 'chart_combined02.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart1 = workbook.add_chart(:type => 'column', :embedded => 1)
|
18
|
+
chart2 = workbook.add_chart(:type => 'line', :embedded => 1)
|
19
|
+
|
20
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
21
|
+
# For this test the ids match the generated ids.
|
22
|
+
|
23
|
+
data = [
|
24
|
+
[ 2, 7, 3, 6, 2 ],
|
25
|
+
[ 20, 25, 10, 10, 20 ]
|
26
|
+
]
|
27
|
+
|
28
|
+
worksheet.write('A1', data)
|
29
|
+
|
30
|
+
chart1.add_series(:values => '=Sheet1!$A$1:$A$5')
|
31
|
+
chart2.add_series(:values => '=Sheet1!$B$1:$B$5')
|
32
|
+
|
33
|
+
chart1.combine(chart2)
|
34
|
+
|
35
|
+
worksheet.insert_chart('E9', chart1)
|
36
|
+
|
37
|
+
workbook.close
|
38
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
|
39
|
+
[],
|
40
|
+
{ 'xl/charts/chart1.xml' => ['<c:dispBlanksAs'] }
|
41
|
+
)
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartCombined03 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_combined03
|
14
|
+
@xlsx = 'chart_combined03.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart1 = workbook.add_chart(:type => 'column', :embedded => 1)
|
18
|
+
chart2 = workbook.add_chart(:type => 'line', :embedded => 1)
|
19
|
+
|
20
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
21
|
+
# For this test the ids match the generated ids.
|
22
|
+
|
23
|
+
data = [
|
24
|
+
[ 2, 7, 3, 6, 2],
|
25
|
+
[20, 25, 10, 10, 20],
|
26
|
+
[ 4, 2, 5, 2, 1]
|
27
|
+
]
|
28
|
+
|
29
|
+
worksheet.write('A1', data)
|
30
|
+
|
31
|
+
chart1.add_series(:values => '=Sheet1!$A$1:$A$5')
|
32
|
+
chart1.add_series(:values => '=Sheet1!$B$1:$B$5')
|
33
|
+
chart2.add_series(:values => '=Sheet1!$C$1:$C$5')
|
34
|
+
|
35
|
+
chart1.combine(chart2)
|
36
|
+
|
37
|
+
worksheet.insert_chart('E9', chart1)
|
38
|
+
|
39
|
+
workbook.close
|
40
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
|
41
|
+
[],
|
42
|
+
{ 'xl/charts/chart1.xml' => ['<c:dispBlanksAs'] }
|
43
|
+
)
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartCombined04 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_combined04
|
14
|
+
@xlsx = 'chart_combined04.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart1 = workbook.add_chart(:type => 'column', :embedded => 1)
|
18
|
+
chart2 = workbook.add_chart(:type => 'line', :embedded => 1)
|
19
|
+
|
20
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
21
|
+
# For this test the ids match the generated ids.
|
22
|
+
|
23
|
+
data = [
|
24
|
+
[ 2, 7, 3, 6, 2],
|
25
|
+
[20, 25, 10, 10, 20]
|
26
|
+
]
|
27
|
+
|
28
|
+
worksheet.write('A1', data)
|
29
|
+
|
30
|
+
chart1.add_series(:values => '=Sheet1!$A$1:$A$5')
|
31
|
+
chart2.add_series(:values => '=Sheet1!$B$1:$B$5', :y2_axis => 1)
|
32
|
+
|
33
|
+
chart1.combine(chart2)
|
34
|
+
|
35
|
+
worksheet.insert_chart('E9', chart1)
|
36
|
+
|
37
|
+
workbook.close
|
38
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
|
39
|
+
[],
|
40
|
+
{ 'xl/charts/chart1.xml' => [
|
41
|
+
'<c:dispBlanksAs',
|
42
|
+
'<c:tickLblPos',
|
43
|
+
'<c:crosses'
|
44
|
+
] }
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartCombined05 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_combined05
|
14
|
+
@xlsx = 'chart_combined05.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart1 = workbook.add_chart(:type => 'bar', :embedded => 1)
|
18
|
+
chart2 = workbook.add_chart(:type => 'line', :embedded => 1)
|
19
|
+
|
20
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
21
|
+
chart1.instance_variable_set(:@axis_ids, [60914304, 78899072])
|
22
|
+
chart2.instance_variable_set(:@axis2_ids, [85542016, 85183872])
|
23
|
+
|
24
|
+
data = [
|
25
|
+
[ 2, 7, 3, 6, 2],
|
26
|
+
[20, 25, 10, 10, 20]
|
27
|
+
]
|
28
|
+
|
29
|
+
worksheet.write('A1', data)
|
30
|
+
|
31
|
+
chart1.add_series(:values => '=Sheet1!$A$1:$A$5')
|
32
|
+
chart2.add_series(:values => '=Sheet1!$B$1:$B$5', :y2_axis => 1)
|
33
|
+
|
34
|
+
chart1.combine(chart2)
|
35
|
+
|
36
|
+
worksheet.insert_chart('E9', chart1)
|
37
|
+
|
38
|
+
workbook.close
|
39
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
|
40
|
+
[],
|
41
|
+
{ 'xl/charts/chart1.xml' => [
|
42
|
+
'<c:dispBlanksAs',
|
43
|
+
'<c:tickLblPos',
|
44
|
+
'<c:crosses',
|
45
|
+
'<c:axPos'
|
46
|
+
] }
|
47
|
+
)
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartCombined06 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_combined06
|
14
|
+
@xlsx = 'chart_combined06.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart1 = workbook.add_chart(:type => 'area', :embedded => 1)
|
18
|
+
chart2 = workbook.add_chart(:type => 'column', :embedded => 1)
|
19
|
+
|
20
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
21
|
+
chart1.instance_variable_set(:@axis_ids, [91755648, 91757952])
|
22
|
+
chart2.instance_variable_set(:@axis_ids, [91755648, 91757952])
|
23
|
+
|
24
|
+
data = [
|
25
|
+
[ 2, 7, 3, 6, 2],
|
26
|
+
[20, 25, 10, 10, 20]
|
27
|
+
]
|
28
|
+
|
29
|
+
worksheet.write('A1', data)
|
30
|
+
|
31
|
+
chart1.add_series(:values => '=Sheet1!$A$1:$A$5')
|
32
|
+
chart2.add_series(:values => '=Sheet1!$B$1:$B$5')
|
33
|
+
|
34
|
+
chart1.combine(chart2)
|
35
|
+
|
36
|
+
# For testing
|
37
|
+
chart1.instance_variable_set(:@cross_between, 'between')
|
38
|
+
|
39
|
+
worksheet.insert_chart('E9', chart1)
|
40
|
+
|
41
|
+
workbook.close
|
42
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
|
43
|
+
[],
|
44
|
+
{ 'xl/charts/chart1.xml' => [
|
45
|
+
'<c:dispBlanksAs'
|
46
|
+
] }
|
47
|
+
)
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartCombined07 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_combined07
|
14
|
+
@xlsx = 'chart_combined07.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart1 = workbook.add_chart(:type => 'column', :embedded => 1)
|
18
|
+
chart2 = workbook.add_chart(:type => 'scatter', :embedded => 1)
|
19
|
+
|
20
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
21
|
+
chart1.instance_variable_set(:@axis_ids, [81267328, 81297792])
|
22
|
+
chart2.instance_variable_set(:@axis_ids, [81267328, 81297792])
|
23
|
+
|
24
|
+
data = [
|
25
|
+
[ 2, 3, 4, 5, 6],
|
26
|
+
[20, 25, 10, 10, 20],
|
27
|
+
[ 5, 10, 15, 10, 5]
|
28
|
+
]
|
29
|
+
|
30
|
+
worksheet.write('A1', data)
|
31
|
+
|
32
|
+
chart1.add_series(
|
33
|
+
:categories => '=Sheet1!$A$1:$A$5',
|
34
|
+
:values => '=Sheet1!$B$1:$B$5'
|
35
|
+
)
|
36
|
+
chart2.add_series(
|
37
|
+
:categories => '=Sheet1!$A$1:$A$5',
|
38
|
+
:values => '=Sheet1!$C$1:$C$5'
|
39
|
+
)
|
40
|
+
|
41
|
+
chart1.combine(chart2)
|
42
|
+
|
43
|
+
worksheet.insert_chart('E9', chart1)
|
44
|
+
|
45
|
+
workbook.close
|
46
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
|
47
|
+
[],
|
48
|
+
{ 'xl/charts/chart1.xml' => [
|
49
|
+
'<c:dispBlanksAs'
|
50
|
+
] }
|
51
|
+
)
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionChartCombined08 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_chart_combined08
|
14
|
+
@xlsx = 'chart_combined08.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
chart1 = workbook.add_chart(:type => 'column', :embedded => 1)
|
18
|
+
chart2 = workbook.add_chart(:type => 'scatter', :embedded => 1)
|
19
|
+
|
20
|
+
# For testing, copy the randomly generated axis ids in the target xlsx file.
|
21
|
+
chart1.instance_variable_set(:@axis_ids, [81267328, 81297792])
|
22
|
+
chart2.instance_variable_set(:@axis_ids, [81267328, 81297792])
|
23
|
+
chart2.instance_variable_set(:@axis2_ids, [89510656, 84556032])
|
24
|
+
|
25
|
+
data = [
|
26
|
+
[ 2, 3, 4, 5, 6],
|
27
|
+
[20, 25, 10, 10, 20],
|
28
|
+
[ 5, 10, 15, 10, 5]
|
29
|
+
]
|
30
|
+
|
31
|
+
worksheet.write('A1', data)
|
32
|
+
|
33
|
+
chart1.add_series(
|
34
|
+
:categories => '=Sheet1!$A$1:$A$5',
|
35
|
+
:values => '=Sheet1!$B$1:$B$5'
|
36
|
+
)
|
37
|
+
chart2.add_series(
|
38
|
+
:categories => '=Sheet1!$A$1:$A$5',
|
39
|
+
:values => '=Sheet1!$C$1:$C$5',
|
40
|
+
:y2_axis => 1
|
41
|
+
)
|
42
|
+
|
43
|
+
chart1.combine(chart2)
|
44
|
+
|
45
|
+
worksheet.insert_chart('E9', chart1)
|
46
|
+
|
47
|
+
workbook.close
|
48
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
|
49
|
+
[],
|
50
|
+
{ 'xl/charts/chart1.xml' => [
|
51
|
+
'<c:dispBlanksAs',
|
52
|
+
'<c:crossBetween',
|
53
|
+
'<c:tickLblPos',
|
54
|
+
'<c:auto',
|
55
|
+
'<c:valAx>',
|
56
|
+
'<c:catAx>',
|
57
|
+
'</c:valAx>',
|
58
|
+
'</c:catAx>',
|
59
|
+
'<c:crosses',
|
60
|
+
'<c:lblOffset',
|
61
|
+
'<c:lblAlgn'
|
62
|
+
] }
|
63
|
+
)
|
64
|
+
end
|
65
|
+
end
|