axlsx 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
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