write_xlsx 0.62.0 → 0.64.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.
Files changed (107) hide show
  1. data/README.rdoc +14 -1
  2. data/examples/chart_data_tools.rb +215 -0
  3. data/examples/chart_pie.rb +36 -5
  4. data/examples/sparklines2.rb +1 -1
  5. data/examples/tab_colors.rb +3 -3
  6. data/lib/write_xlsx/chart.rb +559 -516
  7. data/lib/write_xlsx/chart/area.rb +4 -1
  8. data/lib/write_xlsx/chart/axis.rb +132 -0
  9. data/lib/write_xlsx/chart/bar.rb +17 -9
  10. data/lib/write_xlsx/chart/column.rb +9 -1
  11. data/lib/write_xlsx/chart/line.rb +24 -0
  12. data/lib/write_xlsx/chart/radar.rb +2 -2
  13. data/lib/write_xlsx/chart/scatter.rb +19 -0
  14. data/lib/write_xlsx/chart/stock.rb +10 -3
  15. data/lib/write_xlsx/drawing.rb +43 -44
  16. data/lib/write_xlsx/package/vml.rb +21 -14
  17. data/lib/write_xlsx/shape.rb +173 -22
  18. data/lib/write_xlsx/sparkline.rb +524 -0
  19. data/lib/write_xlsx/version.rb +1 -1
  20. data/lib/write_xlsx/workbook.rb +183 -115
  21. data/lib/write_xlsx/worksheet.rb +821 -1073
  22. data/lib/write_xlsx/worksheet/cell_data.rb +132 -0
  23. data/lib/write_xlsx/worksheet/print_style.rb +51 -0
  24. data/test/chart/test_add_series.rb +31 -6
  25. data/test/chart/test_write_d_lbls.rb +18 -18
  26. data/test/chart/test_write_number_format.rb +20 -24
  27. data/test/drawing/test_drawing_shape_01.rb +1 -1
  28. data/test/drawing/test_drawing_shape_02.rb +2 -2
  29. data/test/drawing/test_drawing_shape_03.rb +5 -5
  30. data/test/drawing/test_drawing_shape_04.rb +3 -3
  31. data/test/drawing/test_drawing_shape_05.rb +4 -4
  32. data/test/drawing/test_drawing_shape_07.rb +2 -2
  33. data/test/perl_output/chart_data_tools.xlsx +0 -0
  34. data/test/perl_output/chart_pie.xlsx +0 -0
  35. data/test/regression/disabled_test_vml04.rb +2 -2
  36. data/test/regression/test_chart_drop_lines01.rb +46 -0
  37. data/test/regression/test_chart_drop_lines02.rb +51 -0
  38. data/test/regression/test_chart_drop_lines03.rb +46 -0
  39. data/test/regression/test_chart_drop_lines04.rb +64 -0
  40. data/test/regression/test_chart_errorbars01.rb +47 -0
  41. data/test/regression/test_chart_errorbars02.rb +57 -0
  42. data/test/regression/test_chart_errorbars03.rb +53 -0
  43. data/test/regression/test_chart_errorbars04.rb +48 -0
  44. data/test/regression/test_chart_errorbars05.rb +47 -0
  45. data/test/regression/test_chart_errorbars06.rb +47 -0
  46. data/test/regression/test_chart_errorbars07.rb +66 -0
  47. data/test/regression/test_chart_font02.rb +1 -1
  48. data/test/regression/test_chart_font06.rb +1 -1
  49. data/test/regression/test_chart_gridlines04.rb +2 -1
  50. data/test/regression/test_chart_gridlines08.rb +2 -1
  51. data/test/regression/test_chart_points01.rb +37 -0
  52. data/test/regression/test_chart_points02.rb +40 -0
  53. data/test/regression/test_chart_points03.rb +42 -0
  54. data/test/regression/test_chart_points04.rb +52 -0
  55. data/test/regression/test_chart_points05.rb +49 -0
  56. data/test/regression/test_chart_points06.rb +49 -0
  57. data/test/regression/test_chartsheet05.rb +1 -1
  58. data/test/regression/test_chartsheet06.rb +1 -1
  59. data/test/regression/test_comment01.rb +1 -1
  60. data/test/regression/test_comment02.rb +1 -1
  61. data/test/regression/test_comment03.rb +1 -1
  62. data/test/regression/test_comment04.rb +2 -2
  63. data/test/regression/test_comment06.rb +1 -1
  64. data/test/regression/test_comment07.rb +1 -1
  65. data/test/regression/test_comment08.rb +1 -1
  66. data/test/regression/test_comment09.rb +1 -1
  67. data/test/regression/test_comment10.rb +1 -1
  68. data/test/regression/test_default_row04.rb +1 -1
  69. data/test/regression/test_escapes02.rb +1 -1
  70. data/test/regression/test_hyperlink15.rb +2 -2
  71. data/test/regression/test_shape_connect01.rb +6 -6
  72. data/test/regression/test_shape_connect02.rb +6 -6
  73. data/test/regression/test_shape_connect03.rb +11 -11
  74. data/test/regression/test_shape_connect04.rb +10 -10
  75. data/test/regression/test_shape_scale01.rb +2 -2
  76. data/test/regression/test_shape_stencil01.rb +3 -3
  77. data/test/regression/test_tab_color01.rb +1 -1
  78. data/test/regression/test_table04.rb +1 -1
  79. data/test/regression/test_table05.rb +1 -1
  80. data/test/regression/test_table06.rb +1 -1
  81. data/test/regression/test_vml01.rb +1 -1
  82. data/test/regression/test_vml02.rb +1 -1
  83. data/test/regression/test_vml03.rb +2 -2
  84. data/test/regression/xlsx_files/chart_drop_lines01.xlsx +0 -0
  85. data/test/regression/xlsx_files/chart_drop_lines02.xlsx +0 -0
  86. data/test/regression/xlsx_files/chart_drop_lines03.xlsx +0 -0
  87. data/test/regression/xlsx_files/chart_drop_lines04.xlsx +0 -0
  88. data/test/regression/xlsx_files/chart_errorbars01.xlsx +0 -0
  89. data/test/regression/xlsx_files/chart_errorbars02.xlsx +0 -0
  90. data/test/regression/xlsx_files/chart_errorbars03.xlsx +0 -0
  91. data/test/regression/xlsx_files/chart_errorbars04.xlsx +0 -0
  92. data/test/regression/xlsx_files/chart_errorbars05.xlsx +0 -0
  93. data/test/regression/xlsx_files/chart_errorbars06.xlsx +0 -0
  94. data/test/regression/xlsx_files/chart_errorbars07.xlsx +0 -0
  95. data/test/regression/xlsx_files/chart_points01.xlsx +0 -0
  96. data/test/regression/xlsx_files/chart_points02.xlsx +0 -0
  97. data/test/regression/xlsx_files/chart_points03.xlsx +0 -0
  98. data/test/regression/xlsx_files/chart_points04.xlsx +0 -0
  99. data/test/regression/xlsx_files/chart_points05.xlsx +0 -0
  100. data/test/regression/xlsx_files/chart_points06.xlsx +0 -0
  101. data/test/regression/xlsx_files/chart_stock02.xlsx +0 -0
  102. data/test/test_example_match.rb +278 -57
  103. data/test/worksheet/test_convert_date_time_02.rb +427 -433
  104. data/test/worksheet/test_convert_date_time_03.rb +1 -1
  105. data/test/worksheet/test_write_sheet_pr.rb +2 -2
  106. data/test/worksheet/test_write_sheet_view1.rb +2 -2
  107. metadata +80 -10
@@ -6,7 +6,7 @@
6
6
  class DrawingShape01 < Test::Unit::TestCase
7
7
  def test_drawing_shape_01
8
8
  shape = Writexlsx::Shape.new
9
- shape[:id] = 1000
9
+ shape.id = 1000
10
10
 
11
11
  @obj = Writexlsx::Drawing.new
12
12
  @obj.embedded = 1
@@ -7,8 +7,8 @@ class DrawingShape02 < Test::Unit::TestCase
7
7
  def test_drawing_shape_02
8
8
  shape = Writexlsx::Shape.new
9
9
  # Set shape properties via []= method
10
- shape[:id] = 1000
11
- shape[:name] = 'Connector 1'
10
+ shape.id = 1000
11
+ shape.name = 'Connector 1'
12
12
 
13
13
  # Set bulk shape properties via set_properties method
14
14
  shape.set_properties(:type => 'straightConnector1', :connect => 1)
@@ -7,11 +7,11 @@ class DrawingShape03 < Test::Unit::TestCase
7
7
  def test_drawing_shape_03
8
8
  shape = Writexlsx::Shape.new
9
9
  # Set shape properties via []= method
10
- shape[:id] = 1000
11
- shape[:start] = 1001
12
- shape[:start_index] = 1
13
- shape[:end] = 1002
14
- shape[:end_index] = 4
10
+ shape.id = 1000
11
+ shape.start = 1001
12
+ shape.start_index = 1
13
+ shape.end = 1002
14
+ shape.end_index = 4
15
15
 
16
16
  @obj = Writexlsx::Drawing.new
17
17
  @obj.embedded = 1
@@ -16,8 +16,8 @@ def test_drawing_shape_04
16
16
  shape = Writexlsx::Shape.new(:text => 'test', :id => 1000)
17
17
 
18
18
  # Mock up the color palette.
19
- shape[:palette][0] = [0x00, 0x00, 0x00, 0x00]
20
- shape[:palette][7] = [0x00, 0x00, 0x00, 0x00]
19
+ shape.palette[0] = [0x00, 0x00, 0x00, 0x00]
20
+ shape.palette[7] = [0x00, 0x00, 0x00, 0x00]
21
21
 
22
22
  @obj = Writexlsx::Drawing.new
23
23
  @obj.embedded = 2
@@ -36,7 +36,7 @@ def test_drawing_shape_04
36
36
  inserted = @worksheet.insert_shape(4, 8, shape, 300, 400)
37
37
 
38
38
  # Force the shape cell x offset to be non-integer
39
- inserted[:x_offset] += 0.5
39
+ inserted.x_offset += 0.5
40
40
  @worksheet.__send__(:prepare_shape, 0, 1)
41
41
 
42
42
  # Truncate drawing object to just the dimensions
@@ -14,10 +14,10 @@ def setup
14
14
 
15
15
  def test_drawing_shape_05
16
16
  shape = Writexlsx::Shape.new
17
- shape[:id] = 1000
18
- shape[:flip_v] = 1
19
- shape[:flip_h] = 1
20
- shape[:rotation] = 90
17
+ shape.id = 1000
18
+ shape.flip_v = 1
19
+ shape.flip_h = 1
20
+ shape.rotation = 90
21
21
 
22
22
  @obj = Writexlsx::Drawing.new
23
23
  @obj.instance_variable_set(:@palette, @worksheet.instance_variable_get(:@palette))
@@ -14,8 +14,8 @@ def setup
14
14
 
15
15
  def test_drawing_shape_07
16
16
  shape = Writexlsx::Shape.new
17
- shape[:line_weight] = 5
18
- shape[:line_type] = 'lgDashDot'
17
+ shape.line_weight = 5
18
+ shape.line_type = 'lgDashDot'
19
19
 
20
20
  @obj = Writexlsx::Drawing.new
21
21
  @obj.embedded = 1
Binary file
@@ -26,8 +26,8 @@ def test_vml04
26
26
  worksheet3.write_comment('A1', 'More text')
27
27
 
28
28
  # Set the author to match the target XLSX file.
29
- worksheet1.set_comments_author('John')
30
- worksheet3.set_comments_author('John')
29
+ worksheet1.comments_author = 'John'
30
+ worksheet3.comments_author = 'John'
31
31
 
32
32
  worksheet1.insert_button('B2', {})
33
33
  worksheet1.insert_button('C4', {})
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartDropLines01 < 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_drop_lines01
14
+ @xlsx = 'chart_drop_lines01.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [48034944, 48036864])
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.set_drop_lines
31
+
32
+ chart.add_series(
33
+ :categories => '=Sheet1!$A$1:$A$5',
34
+ :values => '=Sheet1!$B$1:$B$5'
35
+ )
36
+ chart.add_series(
37
+ :categories => '=Sheet1!$A$1:$A$5',
38
+ :values => '=Sheet1!$C$1:$C$5'
39
+ )
40
+
41
+ worksheet.insert_chart('E9', chart)
42
+
43
+ workbook.close
44
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
45
+ end
46
+ end
@@ -0,0 +1,51 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartDropLines02 < 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_drop_lines02
14
+ @xlsx = 'chart_drop_lines02.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [70938624, 70940160])
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.set_drop_lines(
31
+ :line => {
32
+ :color => 'red',
33
+ :dash_type => 'square_dot'
34
+ }
35
+ )
36
+
37
+ chart.add_series(
38
+ :categories => '=Sheet1!$A$1:$A$5',
39
+ :values => '=Sheet1!$B$1:$B$5'
40
+ )
41
+ chart.add_series(
42
+ :categories => '=Sheet1!$A$1:$A$5',
43
+ :values => '=Sheet1!$C$1:$C$5'
44
+ )
45
+
46
+ worksheet.insert_chart('E9', chart)
47
+
48
+ workbook.close
49
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
50
+ end
51
+ end
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartDropLines03 < 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_drop_lines03
14
+ @xlsx = 'chart_drop_lines03.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'area', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [61151872, 63947136])
21
+
22
+ data = [
23
+ [ 1, 2, 3, 4, 5 ],
24
+ [ 2, 4, 6, 8, 10 ],
25
+ [ 3, 6, 1, 12, 15 ]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.set_drop_lines
31
+
32
+ chart.add_series(
33
+ :categories => '=Sheet1!$A$1:$A$5',
34
+ :values => '=Sheet1!$B$1:$B$5'
35
+ )
36
+ chart.add_series(
37
+ :categories => '=Sheet1!$A$1:$A$5',
38
+ :values => '=Sheet1!$C$1:$C$5'
39
+ )
40
+
41
+ worksheet.insert_chart('E9', chart)
42
+
43
+ workbook.close
44
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
45
+ end
46
+ end
@@ -0,0 +1,64 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartDropLines04 < 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_drop_lines04
14
+ @xlsx = 'chart_drop_lines04.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'stock', :embedded => 1)
18
+ data_format = workbook.add_format(:num_format => 14)
19
+
20
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
21
+ chart.instance_variable_set(:@axis_ids, [49019520, 49222016])
22
+
23
+ data = [
24
+ [ '2007-01-01T', '2007-01-02T', '2007-01-03T', '2007-01-04T', '2007-01-05T' ],
25
+ [ 27.2, 25.03, 19.05, 20.34, 18.5 ],
26
+ [ 23.49, 19.55, 15.12, 17.84, 16.34 ],
27
+ [ 25.45, 23.05, 17.32, 20.45, 17.34 ]
28
+ ]
29
+
30
+ (0..4).each do |row|
31
+ worksheet.write_date_time(row, 0, data[0][row], data_format)
32
+ worksheet.write(row, 1, data[1][row])
33
+ worksheet.write(row, 2, data[2][row])
34
+ worksheet.write(row, 3, data[3][row])
35
+ end
36
+
37
+ worksheet.set_column('A:D', 11)
38
+
39
+ chart.set_drop_lines
40
+
41
+ chart.add_series(
42
+ :categories => '=Sheet1!$A$1:$A$5',
43
+ :values => '=Sheet1!$B$1:$B$5'
44
+ )
45
+ chart.add_series(
46
+ :categories => '=Sheet1!$A$1:$A$5',
47
+ :values => '=Sheet1!$C$1:$C$5'
48
+ )
49
+ chart.add_series(
50
+ :categories => '=Sheet1!$A$1:$A$5',
51
+ :values => '=Sheet1!$D$1:$D$5'
52
+ )
53
+
54
+ chart.set_drop_lines
55
+
56
+ worksheet.insert_chart('E9', chart)
57
+
58
+ workbook.close
59
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
60
+ [],
61
+ { 'xl/charts/chart1.xml' => [ '<c:formatCode', ] }
62
+ )
63
+ end
64
+ end
@@ -0,0 +1,47 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartErrorbars01 < 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_errorbars01
14
+ @xlsx = 'chart_errorbars01.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [63386752, 63388288])
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(
31
+ :categories => '=Sheet1!$A$1:$A$5',
32
+ :values => '=Sheet1!$B$1:$B$5',
33
+ :y_error_bars => { :type => 'standard_error' }
34
+ )
35
+
36
+ chart.add_series(
37
+ :categories => '=Sheet1!$A$1:$A$5',
38
+ :values => '=Sheet1!$C$1:$C$5'
39
+ )
40
+
41
+ worksheet.insert_chart('E9', chart)
42
+
43
+ workbook.close
44
+ compare_xlsx_for_regression(
45
+ File.join(@regression_output, @xlsx), @xlsx)
46
+ end
47
+ end
@@ -0,0 +1,57 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartErrorbars02 < 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_errorbars02
14
+ @xlsx = 'chart_errorbars02.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [63385984, 63387904])
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(
31
+ :categories => '=Sheet1!$A$1:$A$5',
32
+ :values => '=Sheet1!$B$1:$B$5',
33
+ :y_error_bars => {
34
+ :type => 'fixed',
35
+ :value => 2,
36
+ :end_style => 0,
37
+ :direction => 'minus'
38
+ }
39
+ )
40
+
41
+ chart.add_series(
42
+ :categories => '=Sheet1!$A$1:$A$5',
43
+ :values => '=Sheet1!$C$1:$C$5',
44
+ :y_error_bars => {
45
+ :type => 'percentage',
46
+ :value => 5,
47
+ :direction => 'plus'
48
+ }
49
+ )
50
+
51
+ worksheet.insert_chart('E9', chart)
52
+
53
+ workbook.close
54
+ compare_xlsx_for_regression(
55
+ File.join(@regression_output, @xlsx), @xlsx)
56
+ end
57
+ end
@@ -0,0 +1,53 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartErrorbars03 < 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_errorbars03
14
+ @xlsx = 'chart_errorbars03.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [52288896, 53605504])
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(
31
+ :categories => '=Sheet1!$A$1:$A$5',
32
+ :values => '=Sheet1!$B$1:$B$5',
33
+ :y_error_bars => {
34
+ :type => 'standard_error',
35
+ :line => {
36
+ :color => 'red',
37
+ :dash_type => 'round_dot'
38
+ }
39
+ }
40
+ )
41
+
42
+ chart.add_series(
43
+ :categories => '=Sheet1!$A$1:$A$5',
44
+ :values => '=Sheet1!$C$1:$C$5'
45
+ )
46
+
47
+ worksheet.insert_chart('E9', chart)
48
+
49
+ workbook.close
50
+ compare_xlsx_for_regression(
51
+ File.join(@regression_output, @xlsx), @xlsx)
52
+ end
53
+ end