axlsx 1.1.3 → 1.1.4

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 (79) hide show
  1. data/CHANGELOG.md +21 -0
  2. data/LICENSE +1 -1
  3. data/README.md +38 -415
  4. data/examples/#extractive.csv# +0 -0
  5. data/examples/#extractive.rb# +45 -0
  6. data/examples/chart_colors.rb +73 -0
  7. data/examples/chart_colors.rb~ +0 -0
  8. data/examples/chart_colors.xlsx +0 -0
  9. data/examples/colored_series_data.xlsx +0 -0
  10. data/examples/conditional_formatting/getting_barred.xlsx +0 -0
  11. data/examples/example.rb +174 -113
  12. data/examples/example.xlsx +0 -0
  13. data/examples/example_streamed.xlsx +0 -0
  14. data/examples/extractive.csv +1 -0
  15. data/examples/extractive.csv~ +1 -0
  16. data/examples/extractive.rb +42 -0
  17. data/examples/extractive.rb~ +3 -0
  18. data/examples/extractive.xlsx +0 -0
  19. data/examples/no-use_autowidth.xlsx +0 -0
  20. data/examples/shared_strings_example.xlsx +0 -0
  21. data/examples/stack.rb +21 -0
  22. data/examples/stack.rb~ +27 -0
  23. data/examples/stack.xlsx +0 -0
  24. data/examples/~$chart_colors.xlsx +0 -0
  25. data/examples/~$extractive.xlsx +0 -0
  26. data/lib/axlsx/drawing/ax_data_source.rb +25 -0
  27. data/lib/axlsx/drawing/ax_data_source.rb~ +55 -0
  28. data/lib/axlsx/drawing/axis.rb +12 -3
  29. data/lib/axlsx/drawing/bar_series.rb +23 -6
  30. data/lib/axlsx/drawing/cat_axis.rb +24 -0
  31. data/lib/axlsx/drawing/chart.rb +7 -5
  32. data/lib/axlsx/drawing/data_source.rb~ +51 -0
  33. data/lib/axlsx/drawing/drawing.rb +8 -4
  34. data/lib/axlsx/drawing/line_series.rb +20 -4
  35. data/lib/axlsx/drawing/num_data.rb +52 -0
  36. data/lib/axlsx/drawing/num_data.rb~ +51 -0
  37. data/lib/axlsx/drawing/num_data_source.rb +58 -0
  38. data/lib/axlsx/drawing/num_data_source.rb~ +54 -0
  39. data/lib/axlsx/drawing/num_val.rb +32 -0
  40. data/lib/axlsx/drawing/num_val.rb~ +40 -0
  41. data/lib/axlsx/drawing/pie_series.rb +18 -4
  42. data/lib/axlsx/drawing/ref.rb~ +41 -0
  43. data/lib/axlsx/drawing/scatter_series.rb +28 -2
  44. data/lib/axlsx/drawing/ser_axis.rb +1 -1
  45. data/lib/axlsx/drawing/series.rb +1 -1
  46. data/lib/axlsx/drawing/str_data.rb +42 -0
  47. data/lib/axlsx/drawing/str_data.rb~ +58 -0
  48. data/lib/axlsx/drawing/str_val.rb +33 -0
  49. data/lib/axlsx/drawing/str_val.rb~ +35 -0
  50. data/lib/axlsx/drawing/view_3D.rb +6 -3
  51. data/lib/axlsx/util/validators.rb +1 -1
  52. data/lib/axlsx/version.rb +1 -1
  53. data/lib/axlsx/workbook/worksheet/col.rb +2 -1
  54. data/lib/axlsx/workbook/worksheet/row.rb +44 -5
  55. data/lib/axlsx/workbook/worksheet/table.rb +1 -1
  56. data/test/drawing/tc_bar_series.rb +18 -13
  57. data/test/drawing/tc_cat_axis_data.rb +23 -13
  58. data/test/drawing/tc_chart.rb +0 -2
  59. data/test/drawing/tc_data_source.rb +17 -0
  60. data/test/drawing/tc_data_source.rb~ +30 -0
  61. data/test/drawing/tc_line_series.rb +3 -9
  62. data/test/drawing/tc_named_axis_data.rb +27 -0
  63. data/test/drawing/tc_num_data.rb +27 -0
  64. data/test/drawing/tc_num_data.rb~ +35 -0
  65. data/test/drawing/tc_num_val.rb +29 -0
  66. data/test/drawing/tc_num_val.rb~ +29 -0
  67. data/test/drawing/tc_pie_series.rb +4 -11
  68. data/test/drawing/tc_scatter_series.rb +6 -5
  69. data/test/drawing/tc_str_data.rb +18 -0
  70. data/test/drawing/tc_str_data.rb~ +30 -0
  71. data/test/drawing/tc_str_val.rb +21 -0
  72. data/test/drawing/tc_str_val.rb~ +26 -0
  73. data/test/drawing/tc_two_cell_anchor.rb +1 -1
  74. data/test/workbook/worksheet/tc_row.rb +6 -0
  75. metadata +65 -13
  76. data/lib/axlsx/drawing/cat_axis_data.rb +0 -34
  77. data/lib/axlsx/drawing/named_axis_data.rb +0 -36
  78. data/lib/axlsx/drawing/val_axis_data.rb +0 -27
  79. data/test/drawing/tc_val_axis_data.rb +0 -17
@@ -1,34 +0,0 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # The CatAxisData class serializes the category axis data for a chart
4
- class CatAxisData < SimpleTypedList
5
-
6
- # Create a new CatAxisData object
7
- # @param [Array, SimpleTypedList] data the data for this category axis. This can be a simple array or a simple typed list of cells.
8
- def initialize(data=[])
9
- super Object
10
- @list.concat data if data.is_a?(Array)
11
- data.each { |i| @list << i } if data.is_a?(SimpleTypedList)
12
- end
13
-
14
- # Serializes the object
15
- # @param [String] str
16
- # @return [String]
17
- def to_xml_string(str = '')
18
- str << '<c:cat>'
19
- str << '<c:strRef>'
20
- str << '<c:f>' << Axlsx::cell_range(@list) << '</c:f>'
21
- str << '<c:strCache>'
22
- str << '<c:ptCount val="' << size.to_s << '"/>'
23
- each_with_index do |item, index|
24
- v = item.is_a?(Cell) ? item.value.to_s : item
25
- str << '<c:pt idx="' << index.to_s << '"><c:v>' << v << '</c:v></c:pt>'
26
- end
27
- str << '</c:strCache>'
28
- str << '</c:strRef>'
29
- str << '</c:cat>'
30
- end
31
-
32
- end
33
-
34
- end
@@ -1,36 +0,0 @@
1
- # encoding: UTF-8
2
- # TODO: review cat, val and named access data to extend this and reduce replicated code.
3
- module Axlsx
4
- # The ValAxisData class manages the values for a chart value series.
5
- class NamedAxisData < CatAxisData
6
-
7
- # creates a new NamedAxisData Object
8
- # @param [String] name The serialized node name for the axis data object
9
- # @param [Array] The data to associate with the axis data object
10
- def initialize(name, data=[])
11
- super(data)
12
- @name = name
13
- end
14
-
15
- # Serializes the object
16
- # @param [String] str
17
- # @return [String]
18
- def to_xml_string(str = '')
19
- str << '<c:' << @name.to_s << '>'
20
- str << '<c:numRef>'
21
- str << '<c:f>' << Axlsx::cell_range(@list) << '</c:f>'
22
- str << '<c:numCache>'
23
- str << '<c:formatCode>General</c:formatCode>'
24
- str << '<c:ptCount val="' << size.to_s << '"/>'
25
- each_with_index do |item, index|
26
- v = item.is_a?(Cell) ? item.value.to_s : item
27
- str << '<c:pt idx="' << index.to_s << '"><c:v>' << v << '</c:v></c:pt>'
28
- end
29
- str << '</c:numCache>'
30
- str << '</c:numRef>'
31
- str << '</c:' << @name.to_s << '>'
32
- end
33
-
34
- end
35
-
36
- end
@@ -1,27 +0,0 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # The ValAxisData class manages the values for a chart value series.
4
- class ValAxisData < CatAxisData
5
-
6
- # Serializes the object
7
- # @param [String] str
8
- # @return [String]
9
- def to_xml_string(str = '')
10
- str << '<c:val>'
11
- str << '<c:numRef>'
12
- str << '<c:f>' << Axlsx::cell_range(@list) << '</c:f>'
13
- str << '<c:numCache>'
14
- str << '<c:formatCode>General</c:formatCode>'
15
- str << '<c:ptCount val="' << size.to_s << '"/>'
16
- each_with_index do |item, index|
17
- v = item.is_a?(Cell) ? item.value.to_s : item
18
- str << '<c:pt idx="' << index.to_s << '"><c:v>' << v << '</c:v></c:pt>'
19
- end
20
- str << '</c:numCache>'
21
- str << '</c:numRef>'
22
- str << '</c:val>'
23
- end
24
-
25
- end
26
-
27
- end
@@ -1,17 +0,0 @@
1
- require 'tc_helper.rb'
2
-
3
- class TestValAxisData < Test::Unit::TestCase
4
-
5
- def setup
6
- p = Axlsx::Package.new
7
- @ws = p.workbook.add_worksheet
8
- chart = @ws.drawing.add_chart Axlsx::Line3DChart
9
- @series = chart.add_series :data=>[0,1,2]
10
- end
11
-
12
- def test_initialize
13
- assert(@series.data.is_a?Axlsx::SimpleTypedList)
14
- assert_equal(@series.data, [0,1,2])
15
- end
16
-
17
- end