write_xlsx 0.79.0 → 0.80.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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/Changes +6 -0
  3. data/README.md +1 -1
  4. data/lib/write_xlsx/chart.rb +38 -1
  5. data/lib/write_xlsx/chart/area.rb +4 -0
  6. data/lib/write_xlsx/chart/bar.rb +9 -0
  7. data/lib/write_xlsx/chart/column.rb +9 -0
  8. data/lib/write_xlsx/chart/line.rb +13 -0
  9. data/lib/write_xlsx/chart/pie.rb +10 -0
  10. data/lib/write_xlsx/chart/radar.rb +4 -0
  11. data/lib/write_xlsx/chart/scatter.rb +13 -0
  12. data/lib/write_xlsx/chart/series.rb +38 -26
  13. data/lib/write_xlsx/chart/stock.rb +13 -0
  14. data/lib/write_xlsx/utility.rb +1 -1
  15. data/lib/write_xlsx/version.rb +1 -1
  16. data/lib/write_xlsx/worksheet.rb +11 -4
  17. data/test/chart/test_write_d_lbls.rb +18 -1
  18. data/test/regression/test_chart_data_labels01.rb +47 -0
  19. data/test/regression/test_chart_data_labels02.rb +47 -0
  20. data/test/regression/test_chart_data_labels03.rb +47 -0
  21. data/test/regression/test_chart_data_labels04.rb +47 -0
  22. data/test/regression/test_chart_data_labels05.rb +50 -0
  23. data/test/regression/test_chart_data_labels06.rb +50 -0
  24. data/test/regression/test_chart_data_labels07.rb +40 -0
  25. data/test/regression/test_chart_data_labels08.rb +46 -0
  26. data/test/regression/test_chart_data_labels09.rb +47 -0
  27. data/test/regression/test_chart_data_labels10.rb +47 -0
  28. data/test/regression/test_chart_data_labels11.rb +37 -0
  29. data/test/regression/test_chart_data_labels12.rb +37 -0
  30. data/test/regression/test_chart_data_labels13.rb +37 -0
  31. data/test/regression/test_chart_data_labels14.rb +37 -0
  32. data/test/regression/test_chart_data_labels15.rb +37 -0
  33. data/test/regression/test_chart_data_labels16.rb +40 -0
  34. data/test/regression/test_chart_data_labels17.rb +63 -0
  35. data/test/regression/test_chart_data_labels18.rb +53 -0
  36. data/test/regression/test_chart_data_labels19.rb +53 -0
  37. data/test/regression/test_chart_data_labels20.rb +44 -0
  38. data/test/regression/test_chart_data_labels21.rb +48 -0
  39. data/test/regression/test_chart_data_labels22.rb +47 -0
  40. data/test/regression/test_chart_data_labels23.rb +50 -0
  41. data/test/regression/test_chart_format19.rb +1 -1
  42. data/test/regression/test_quote_name01.rb +48 -0
  43. data/test/regression/test_quote_name03.rb +41 -0
  44. data/test/regression/xlsx_files/chart_data_labels01.xlsx +0 -0
  45. data/test/regression/xlsx_files/chart_data_labels02.xlsx +0 -0
  46. data/test/regression/xlsx_files/chart_data_labels03.xlsx +0 -0
  47. data/test/regression/xlsx_files/chart_data_labels04.xlsx +0 -0
  48. data/test/regression/xlsx_files/chart_data_labels05.xlsx +0 -0
  49. data/test/regression/xlsx_files/chart_data_labels06.xlsx +0 -0
  50. data/test/regression/xlsx_files/chart_data_labels07.xlsx +0 -0
  51. data/test/regression/xlsx_files/chart_data_labels08.xlsx +0 -0
  52. data/test/regression/xlsx_files/chart_data_labels09.xlsx +0 -0
  53. data/test/regression/xlsx_files/chart_data_labels10.xlsx +0 -0
  54. data/test/regression/xlsx_files/chart_data_labels11.xlsx +0 -0
  55. data/test/regression/xlsx_files/chart_data_labels12.xlsx +0 -0
  56. data/test/regression/xlsx_files/chart_data_labels13.xlsx +0 -0
  57. data/test/regression/xlsx_files/chart_data_labels14.xlsx +0 -0
  58. data/test/regression/xlsx_files/chart_data_labels15.xlsx +0 -0
  59. data/test/regression/xlsx_files/chart_data_labels16.xlsx +0 -0
  60. data/test/regression/xlsx_files/chart_data_labels17.xlsx +0 -0
  61. data/test/regression/xlsx_files/chart_data_labels18.xlsx +0 -0
  62. data/test/regression/xlsx_files/chart_data_labels19.xlsx +0 -0
  63. data/test/regression/xlsx_files/chart_data_labels20.xlsx +0 -0
  64. data/test/regression/xlsx_files/chart_data_labels21.xlsx +0 -0
  65. data/test/regression/xlsx_files/chart_data_labels22.xlsx +0 -0
  66. data/test/regression/xlsx_files/chart_data_labels23.xlsx +0 -0
  67. data/test/regression/xlsx_files/chart_data_labels24.xlsx +0 -0
  68. data/test/regression/xlsx_files/quote_name01.xlsx +0 -0
  69. data/test/regression/xlsx_files/quote_name02.xlsx +0 -0
  70. data/test/regression/xlsx_files/quote_name03.xlsx +0 -0
  71. metadata +105 -1
@@ -0,0 +1,47 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartDataLabels22 < 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_data_labels22
14
+ @xlsx = 'chart_data_labels22.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, [45705856, 45740416])
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
+ :values => '=Sheet1!$A$1:$A$5',
32
+ :data_labels => { :value => 1, :num_format => '#,##0.00'}
33
+ )
34
+
35
+ chart.add_series(
36
+ :values => '=Sheet1!$B$1:$B$5',
37
+ :data_labels => { :value => 1, :position => 'inside_base', :num_format => '0.00'}
38
+ )
39
+
40
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
41
+
42
+ worksheet.insert_chart('E9', chart)
43
+
44
+ workbook.close
45
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
46
+ end
47
+ end
@@ -0,0 +1,50 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartDataLabels23 < 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_data_labels23
14
+ @xlsx = 'chart_data_labels23.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, [45705856, 45740416])
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
+ :values => '=Sheet1!$A$1:$A$5',
32
+ :data_labels => {
33
+ :value => 1,
34
+ :font => { :name => 'Consolas', :baseline => -1, :pitch_family => 49, :charset => 0 }
35
+ }
36
+ )
37
+
38
+ chart.add_series(
39
+ :values => '=Sheet1!$B$1:$B$5',
40
+ :data_labels => { :value => 1, :position => 'inside_base' }
41
+ )
42
+
43
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
44
+
45
+ worksheet.insert_chart('E9', chart)
46
+
47
+ workbook.close
48
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
49
+ end
50
+ end
@@ -35,7 +35,7 @@ def test_chart_format19
35
35
  chart.add_series(:values => '=Sheet1!$B$1:$B$5')
36
36
  chart.add_series(
37
37
  :values => '=Sheet1!$C$1:$C$5',
38
- :data_labels => { :value => 1, :position => :inside_base }
38
+ :data_labels => { :value => 1, :position => 'inside_base' }
39
39
  )
40
40
 
41
41
  worksheet.insert_chart('E9', chart)
@@ -0,0 +1,48 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionQuoteName01 < 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_quote_name01
14
+ @xlsx = 'quote_name01.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+
17
+ data = [
18
+ [1, 2, 3, 4, 5],
19
+ [2, 4, 6, 8, 10],
20
+ [3, 6, 9, 12, 15]
21
+ ]
22
+
23
+ # Test quoted/non-quoted sheet names.
24
+ worksheet = workbook.add_worksheet('Sheet 1')
25
+ chart = workbook.add_chart( :type => 'pie', :embedded => 1 )
26
+
27
+ worksheet.write( 'A1', data )
28
+ chart.add_series(:values => [ "'Sheet 1'", 0, 4, 0, 0 ])
29
+ worksheet.insert_chart( 'E6', chart, 26, 17 )
30
+
31
+ sheetnames = [
32
+ 'Sheet 2', "Sheet!3", 'Sheet"4',
33
+ 'Sheet#5', 'Sheet$6', 'Sheet%7', 'Sheet&8'
34
+ ]
35
+
36
+ sheetnames.each do |sheetname|
37
+ worksheet = workbook.add_worksheet( sheetname )
38
+ chart = workbook.add_chart( :type => 'pie', :embedded => 1 )
39
+
40
+ worksheet.write( 'A1', data )
41
+ chart.add_series(:values => [sheetname, 0, 4, 0, 0])
42
+ worksheet.insert_chart( 'E6', chart, 26, 17 )
43
+ end
44
+
45
+ workbook.close
46
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
47
+ end
48
+ end
@@ -0,0 +1,41 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionQuoteName03 < 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_quote_name03
14
+ @xlsx = 'quote_name03.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+
17
+ data = [
18
+ [1, 2, 3, 4, 5],
19
+ [2, 4, 6, 8, 10],
20
+ [3, 6, 9, 12, 15]
21
+ ]
22
+
23
+ # Test quoted/non-quoted sheet names.
24
+ sheetnames = [
25
+ 'Sheet<1', 'Sheet>2', 'Sheet=3', 'Sheet@4',
26
+ 'Sheet^5', 'Sheet`6', 'Sheet_7', 'Sheet~8'
27
+ ]
28
+
29
+ sheetnames.each do |sheetname|
30
+ worksheet = workbook.add_worksheet( sheetname )
31
+ chart = workbook.add_chart( :type => 'pie', :embedded => 1 )
32
+
33
+ worksheet.write( 'A1', data )
34
+ chart.add_series(:values => [sheetname, 0, 4, 0, 0])
35
+ worksheet.insert_chart( 'E6', chart, 26, 17 )
36
+ end
37
+
38
+ workbook.close
39
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
40
+ end
41
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: write_xlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.79.0
4
+ version: 0.80.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hideo NAKAMURA
@@ -468,6 +468,29 @@ files:
468
468
  - test/regression/test_chart_crossing02.rb
469
469
  - test/regression/test_chart_crossing03.rb
470
470
  - test/regression/test_chart_crossing04.rb
471
+ - test/regression/test_chart_data_labels01.rb
472
+ - test/regression/test_chart_data_labels02.rb
473
+ - test/regression/test_chart_data_labels03.rb
474
+ - test/regression/test_chart_data_labels04.rb
475
+ - test/regression/test_chart_data_labels05.rb
476
+ - test/regression/test_chart_data_labels06.rb
477
+ - test/regression/test_chart_data_labels07.rb
478
+ - test/regression/test_chart_data_labels08.rb
479
+ - test/regression/test_chart_data_labels09.rb
480
+ - test/regression/test_chart_data_labels10.rb
481
+ - test/regression/test_chart_data_labels11.rb
482
+ - test/regression/test_chart_data_labels12.rb
483
+ - test/regression/test_chart_data_labels13.rb
484
+ - test/regression/test_chart_data_labels14.rb
485
+ - test/regression/test_chart_data_labels15.rb
486
+ - test/regression/test_chart_data_labels16.rb
487
+ - test/regression/test_chart_data_labels17.rb
488
+ - test/regression/test_chart_data_labels18.rb
489
+ - test/regression/test_chart_data_labels19.rb
490
+ - test/regression/test_chart_data_labels20.rb
491
+ - test/regression/test_chart_data_labels21.rb
492
+ - test/regression/test_chart_data_labels22.rb
493
+ - test/regression/test_chart_data_labels23.rb
471
494
  - test/regression/test_chart_date01.rb
472
495
  - test/regression/test_chart_date02.rb
473
496
  - test/regression/test_chart_date03.rb
@@ -771,6 +794,8 @@ files:
771
794
  - test/regression/test_protect01.rb
772
795
  - test/regression/test_protect02.rb
773
796
  - test/regression/test_protect03.rb
797
+ - test/regression/test_quote_name01.rb
798
+ - test/regression/test_quote_name03.rb
774
799
  - test/regression/test_repeat01.rb
775
800
  - test/regression/test_repeat02.rb
776
801
  - test/regression/test_repeat03.rb
@@ -972,6 +997,30 @@ files:
972
997
  - test/regression/xlsx_files/chart_crossing02.xlsx
973
998
  - test/regression/xlsx_files/chart_crossing03.xlsx
974
999
  - test/regression/xlsx_files/chart_crossing04.xlsx
1000
+ - test/regression/xlsx_files/chart_data_labels01.xlsx
1001
+ - test/regression/xlsx_files/chart_data_labels02.xlsx
1002
+ - test/regression/xlsx_files/chart_data_labels03.xlsx
1003
+ - test/regression/xlsx_files/chart_data_labels04.xlsx
1004
+ - test/regression/xlsx_files/chart_data_labels05.xlsx
1005
+ - test/regression/xlsx_files/chart_data_labels06.xlsx
1006
+ - test/regression/xlsx_files/chart_data_labels07.xlsx
1007
+ - test/regression/xlsx_files/chart_data_labels08.xlsx
1008
+ - test/regression/xlsx_files/chart_data_labels09.xlsx
1009
+ - test/regression/xlsx_files/chart_data_labels10.xlsx
1010
+ - test/regression/xlsx_files/chart_data_labels11.xlsx
1011
+ - test/regression/xlsx_files/chart_data_labels12.xlsx
1012
+ - test/regression/xlsx_files/chart_data_labels13.xlsx
1013
+ - test/regression/xlsx_files/chart_data_labels14.xlsx
1014
+ - test/regression/xlsx_files/chart_data_labels15.xlsx
1015
+ - test/regression/xlsx_files/chart_data_labels16.xlsx
1016
+ - test/regression/xlsx_files/chart_data_labels17.xlsx
1017
+ - test/regression/xlsx_files/chart_data_labels18.xlsx
1018
+ - test/regression/xlsx_files/chart_data_labels19.xlsx
1019
+ - test/regression/xlsx_files/chart_data_labels20.xlsx
1020
+ - test/regression/xlsx_files/chart_data_labels21.xlsx
1021
+ - test/regression/xlsx_files/chart_data_labels22.xlsx
1022
+ - test/regression/xlsx_files/chart_data_labels23.xlsx
1023
+ - test/regression/xlsx_files/chart_data_labels24.xlsx
975
1024
  - test/regression/xlsx_files/chart_date01.xlsx
976
1025
  - test/regression/xlsx_files/chart_date02.xlsx
977
1026
  - test/regression/xlsx_files/chart_date03.xlsx
@@ -1268,6 +1317,9 @@ files:
1268
1317
  - test/regression/xlsx_files/protect01.xlsx
1269
1318
  - test/regression/xlsx_files/protect02.xlsx
1270
1319
  - test/regression/xlsx_files/protect03.xlsx
1320
+ - test/regression/xlsx_files/quote_name01.xlsx
1321
+ - test/regression/xlsx_files/quote_name02.xlsx
1322
+ - test/regression/xlsx_files/quote_name03.xlsx
1271
1323
  - test/regression/xlsx_files/repeat01.xlsx
1272
1324
  - test/regression/xlsx_files/repeat02.xlsx
1273
1325
  - test/regression/xlsx_files/repeat03.xlsx
@@ -1799,6 +1851,29 @@ test_files:
1799
1851
  - test/regression/test_chart_crossing02.rb
1800
1852
  - test/regression/test_chart_crossing03.rb
1801
1853
  - test/regression/test_chart_crossing04.rb
1854
+ - test/regression/test_chart_data_labels01.rb
1855
+ - test/regression/test_chart_data_labels02.rb
1856
+ - test/regression/test_chart_data_labels03.rb
1857
+ - test/regression/test_chart_data_labels04.rb
1858
+ - test/regression/test_chart_data_labels05.rb
1859
+ - test/regression/test_chart_data_labels06.rb
1860
+ - test/regression/test_chart_data_labels07.rb
1861
+ - test/regression/test_chart_data_labels08.rb
1862
+ - test/regression/test_chart_data_labels09.rb
1863
+ - test/regression/test_chart_data_labels10.rb
1864
+ - test/regression/test_chart_data_labels11.rb
1865
+ - test/regression/test_chart_data_labels12.rb
1866
+ - test/regression/test_chart_data_labels13.rb
1867
+ - test/regression/test_chart_data_labels14.rb
1868
+ - test/regression/test_chart_data_labels15.rb
1869
+ - test/regression/test_chart_data_labels16.rb
1870
+ - test/regression/test_chart_data_labels17.rb
1871
+ - test/regression/test_chart_data_labels18.rb
1872
+ - test/regression/test_chart_data_labels19.rb
1873
+ - test/regression/test_chart_data_labels20.rb
1874
+ - test/regression/test_chart_data_labels21.rb
1875
+ - test/regression/test_chart_data_labels22.rb
1876
+ - test/regression/test_chart_data_labels23.rb
1802
1877
  - test/regression/test_chart_date01.rb
1803
1878
  - test/regression/test_chart_date02.rb
1804
1879
  - test/regression/test_chart_date03.rb
@@ -2102,6 +2177,8 @@ test_files:
2102
2177
  - test/regression/test_protect01.rb
2103
2178
  - test/regression/test_protect02.rb
2104
2179
  - test/regression/test_protect03.rb
2180
+ - test/regression/test_quote_name01.rb
2181
+ - test/regression/test_quote_name03.rb
2105
2182
  - test/regression/test_repeat01.rb
2106
2183
  - test/regression/test_repeat02.rb
2107
2184
  - test/regression/test_repeat03.rb
@@ -2303,6 +2380,30 @@ test_files:
2303
2380
  - test/regression/xlsx_files/chart_crossing02.xlsx
2304
2381
  - test/regression/xlsx_files/chart_crossing03.xlsx
2305
2382
  - test/regression/xlsx_files/chart_crossing04.xlsx
2383
+ - test/regression/xlsx_files/chart_data_labels01.xlsx
2384
+ - test/regression/xlsx_files/chart_data_labels02.xlsx
2385
+ - test/regression/xlsx_files/chart_data_labels03.xlsx
2386
+ - test/regression/xlsx_files/chart_data_labels04.xlsx
2387
+ - test/regression/xlsx_files/chart_data_labels05.xlsx
2388
+ - test/regression/xlsx_files/chart_data_labels06.xlsx
2389
+ - test/regression/xlsx_files/chart_data_labels07.xlsx
2390
+ - test/regression/xlsx_files/chart_data_labels08.xlsx
2391
+ - test/regression/xlsx_files/chart_data_labels09.xlsx
2392
+ - test/regression/xlsx_files/chart_data_labels10.xlsx
2393
+ - test/regression/xlsx_files/chart_data_labels11.xlsx
2394
+ - test/regression/xlsx_files/chart_data_labels12.xlsx
2395
+ - test/regression/xlsx_files/chart_data_labels13.xlsx
2396
+ - test/regression/xlsx_files/chart_data_labels14.xlsx
2397
+ - test/regression/xlsx_files/chart_data_labels15.xlsx
2398
+ - test/regression/xlsx_files/chart_data_labels16.xlsx
2399
+ - test/regression/xlsx_files/chart_data_labels17.xlsx
2400
+ - test/regression/xlsx_files/chart_data_labels18.xlsx
2401
+ - test/regression/xlsx_files/chart_data_labels19.xlsx
2402
+ - test/regression/xlsx_files/chart_data_labels20.xlsx
2403
+ - test/regression/xlsx_files/chart_data_labels21.xlsx
2404
+ - test/regression/xlsx_files/chart_data_labels22.xlsx
2405
+ - test/regression/xlsx_files/chart_data_labels23.xlsx
2406
+ - test/regression/xlsx_files/chart_data_labels24.xlsx
2306
2407
  - test/regression/xlsx_files/chart_date01.xlsx
2307
2408
  - test/regression/xlsx_files/chart_date02.xlsx
2308
2409
  - test/regression/xlsx_files/chart_date03.xlsx
@@ -2599,6 +2700,9 @@ test_files:
2599
2700
  - test/regression/xlsx_files/protect01.xlsx
2600
2701
  - test/regression/xlsx_files/protect02.xlsx
2601
2702
  - test/regression/xlsx_files/protect03.xlsx
2703
+ - test/regression/xlsx_files/quote_name01.xlsx
2704
+ - test/regression/xlsx_files/quote_name02.xlsx
2705
+ - test/regression/xlsx_files/quote_name03.xlsx
2602
2706
  - test/regression/xlsx_files/repeat01.xlsx
2603
2707
  - test/regression/xlsx_files/repeat02.xlsx
2604
2708
  - test/regression/xlsx_files/repeat03.xlsx