caxlsx 3.2.0 → 3.3.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 (300) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/.yardopts_guide +18 -18
  4. data/CHANGELOG.md +385 -354
  5. data/LICENSE +21 -21
  6. data/README.md +165 -168
  7. data/Rakefile +29 -29
  8. data/examples/generate.rb +15 -15
  9. data/lib/axlsx/content_type/abstract_content_type.rb +32 -32
  10. data/lib/axlsx/content_type/content_type.rb +26 -26
  11. data/lib/axlsx/content_type/default.rb +25 -25
  12. data/lib/axlsx/content_type/override.rb +25 -25
  13. data/lib/axlsx/doc_props/app.rb +235 -235
  14. data/lib/axlsx/doc_props/core.rb +39 -39
  15. data/lib/axlsx/drawing/area_chart.rb +99 -99
  16. data/lib/axlsx/drawing/area_series.rb +110 -110
  17. data/lib/axlsx/drawing/ax_data_source.rb +26 -26
  18. data/lib/axlsx/drawing/axes.rb +61 -61
  19. data/lib/axlsx/drawing/axis.rb +190 -190
  20. data/lib/axlsx/drawing/bar_3D_chart.rb +148 -148
  21. data/lib/axlsx/drawing/bar_chart.rb +138 -138
  22. data/lib/axlsx/drawing/bar_series.rb +97 -97
  23. data/lib/axlsx/drawing/bubble_chart.rb +59 -59
  24. data/lib/axlsx/drawing/bubble_series.rb +63 -63
  25. data/lib/axlsx/drawing/cat_axis.rb +85 -85
  26. data/lib/axlsx/drawing/chart.rb +299 -276
  27. data/lib/axlsx/drawing/d_lbls.rb +91 -90
  28. data/lib/axlsx/drawing/drawing.rb +167 -167
  29. data/lib/axlsx/drawing/graphic_frame.rb +54 -54
  30. data/lib/axlsx/drawing/hyperlink.rb +100 -100
  31. data/lib/axlsx/drawing/line_3D_chart.rb +68 -68
  32. data/lib/axlsx/drawing/line_chart.rb +99 -99
  33. data/lib/axlsx/drawing/line_series.rb +110 -110
  34. data/lib/axlsx/drawing/marker.rb +84 -84
  35. data/lib/axlsx/drawing/num_data.rb +52 -52
  36. data/lib/axlsx/drawing/num_data_source.rb +62 -62
  37. data/lib/axlsx/drawing/num_val.rb +34 -34
  38. data/lib/axlsx/drawing/one_cell_anchor.rb +99 -99
  39. data/lib/axlsx/drawing/pic.rb +211 -211
  40. data/lib/axlsx/drawing/picture_locking.rb +42 -42
  41. data/lib/axlsx/drawing/pie_3D_chart.rb +47 -47
  42. data/lib/axlsx/drawing/pie_series.rb +74 -74
  43. data/lib/axlsx/drawing/scaling.rb +60 -60
  44. data/lib/axlsx/drawing/scatter_chart.rb +74 -74
  45. data/lib/axlsx/drawing/scatter_series.rb +129 -129
  46. data/lib/axlsx/drawing/ser_axis.rb +45 -45
  47. data/lib/axlsx/drawing/series.rb +69 -69
  48. data/lib/axlsx/drawing/series_title.rb +25 -25
  49. data/lib/axlsx/drawing/str_data.rb +42 -42
  50. data/lib/axlsx/drawing/str_val.rb +34 -34
  51. data/lib/axlsx/drawing/title.rb +107 -97
  52. data/lib/axlsx/drawing/two_cell_anchor.rb +97 -97
  53. data/lib/axlsx/drawing/val_axis.rb +37 -37
  54. data/lib/axlsx/drawing/view_3D.rb +115 -115
  55. data/lib/axlsx/drawing/vml_drawing.rb +42 -42
  56. data/lib/axlsx/drawing/vml_shape.rb +66 -66
  57. data/lib/axlsx/package.rb +398 -388
  58. data/lib/axlsx/rels/relationship.rb +130 -130
  59. data/lib/axlsx/rels/relationships.rb +32 -32
  60. data/lib/axlsx/stylesheet/border.rb +73 -73
  61. data/lib/axlsx/stylesheet/border_pr.rb +71 -71
  62. data/lib/axlsx/stylesheet/cell_alignment.rb +132 -132
  63. data/lib/axlsx/stylesheet/cell_protection.rb +41 -41
  64. data/lib/axlsx/stylesheet/cell_style.rb +72 -72
  65. data/lib/axlsx/stylesheet/color.rb +76 -76
  66. data/lib/axlsx/stylesheet/dxf.rb +79 -79
  67. data/lib/axlsx/stylesheet/fill.rb +35 -35
  68. data/lib/axlsx/stylesheet/font.rb +156 -156
  69. data/lib/axlsx/stylesheet/gradient_fill.rb +103 -103
  70. data/lib/axlsx/stylesheet/gradient_stop.rb +37 -37
  71. data/lib/axlsx/stylesheet/num_fmt.rb +86 -86
  72. data/lib/axlsx/stylesheet/pattern_fill.rb +73 -73
  73. data/lib/axlsx/stylesheet/styles.rb +535 -494
  74. data/lib/axlsx/stylesheet/table_style.rb +54 -54
  75. data/lib/axlsx/stylesheet/table_style_element.rb +77 -77
  76. data/lib/axlsx/stylesheet/table_styles.rb +46 -46
  77. data/lib/axlsx/stylesheet/xf.rb +147 -147
  78. data/lib/axlsx/util/accessors.rb +64 -64
  79. data/lib/axlsx/util/constants.rb +416 -410
  80. data/lib/axlsx/util/mime_type_utils.rb +11 -11
  81. data/lib/axlsx/util/options_parser.rb +16 -16
  82. data/lib/axlsx/util/serialized_attributes.rb +89 -89
  83. data/lib/axlsx/util/simple_typed_list.rb +179 -179
  84. data/lib/axlsx/util/storage.rb +146 -146
  85. data/lib/axlsx/util/validators.rb +312 -312
  86. data/lib/axlsx/util/zip_command.rb +73 -73
  87. data/lib/axlsx/version.rb +5 -5
  88. data/lib/axlsx/workbook/defined_name.rb +128 -128
  89. data/lib/axlsx/workbook/defined_names.rb +21 -21
  90. data/lib/axlsx/workbook/shared_strings_table.rb +77 -77
  91. data/lib/axlsx/workbook/workbook.rb +425 -395
  92. data/lib/axlsx/workbook/workbook_view.rb +80 -80
  93. data/lib/axlsx/workbook/workbook_views.rb +22 -22
  94. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -77
  95. data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
  96. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +244 -244
  97. data/lib/axlsx/workbook/worksheet/border_creator.rb +76 -0
  98. data/lib/axlsx/workbook/worksheet/break.rb +35 -35
  99. data/lib/axlsx/workbook/worksheet/cell.rb +532 -506
  100. data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
  101. data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
  102. data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
  103. data/lib/axlsx/workbook/worksheet/col.rb +145 -145
  104. data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
  105. data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
  106. data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
  107. data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
  108. data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
  109. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
  110. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
  111. data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
  112. data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
  113. data/lib/axlsx/workbook/worksheet/data_validation.rb +267 -246
  114. data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
  115. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
  116. data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
  117. data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
  118. data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
  119. data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
  120. data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
  121. data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
  122. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
  123. data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
  124. data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
  125. data/lib/axlsx/workbook/worksheet/pivot_table.rb +335 -296
  126. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
  127. data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
  128. data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
  129. data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
  130. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
  131. data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
  132. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
  133. data/lib/axlsx/workbook/worksheet/row.rb +164 -164
  134. data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
  135. data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
  136. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
  137. data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
  138. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
  139. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
  140. data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
  141. data/lib/axlsx/workbook/worksheet/table.rb +102 -102
  142. data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
  143. data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
  144. data/lib/axlsx/workbook/worksheet/worksheet.rb +829 -786
  145. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
  146. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
  147. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
  148. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
  149. data/lib/axlsx.rb +204 -185
  150. data/lib/caxlsx.rb +2 -2
  151. data/lib/schema/dc.xsd +118 -118
  152. data/lib/schema/dcmitype.xsd +51 -51
  153. data/lib/schema/dcterms.xsd +331 -331
  154. data/lib/schema/dml-chartDrawing.xsd +146 -146
  155. data/lib/schema/dml-compatibility.xsd +14 -14
  156. data/lib/schema/dml-lockedCanvas.xsd +11 -11
  157. data/lib/schema/dml-main.xsd +3048 -3048
  158. data/lib/schema/dml-picture.xsd +23 -23
  159. data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
  160. data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
  161. data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
  162. data/lib/schema/shared-bibliography.xsd +144 -144
  163. data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
  164. data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
  165. data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
  166. data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
  167. data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
  168. data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
  169. data/lib/schema/shared-relationshipReference.xsd +25 -25
  170. data/lib/schema/vml-main.xsd +569 -569
  171. data/lib/schema/vml-officeDrawing.xsd +509 -509
  172. data/lib/schema/vml-presentationDrawing.xsd +12 -12
  173. data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
  174. data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
  175. data/lib/schema/xml.xsd +116 -116
  176. metadata +5 -252
  177. data/test/benchmark.rb +0 -72
  178. data/test/content_type/tc_content_type.rb +0 -76
  179. data/test/content_type/tc_default.rb +0 -16
  180. data/test/content_type/tc_override.rb +0 -14
  181. data/test/doc_props/tc_app.rb +0 -43
  182. data/test/doc_props/tc_core.rb +0 -42
  183. data/test/drawing/tc_area_chart.rb +0 -39
  184. data/test/drawing/tc_area_series.rb +0 -71
  185. data/test/drawing/tc_axes.rb +0 -8
  186. data/test/drawing/tc_axis.rb +0 -112
  187. data/test/drawing/tc_bar_3D_chart.rb +0 -86
  188. data/test/drawing/tc_bar_chart.rb +0 -86
  189. data/test/drawing/tc_bar_series.rb +0 -46
  190. data/test/drawing/tc_bubble_chart.rb +0 -44
  191. data/test/drawing/tc_bubble_series.rb +0 -21
  192. data/test/drawing/tc_cat_axis.rb +0 -31
  193. data/test/drawing/tc_cat_axis_data.rb +0 -27
  194. data/test/drawing/tc_chart.rb +0 -123
  195. data/test/drawing/tc_d_lbls.rb +0 -57
  196. data/test/drawing/tc_data_source.rb +0 -23
  197. data/test/drawing/tc_drawing.rb +0 -80
  198. data/test/drawing/tc_graphic_frame.rb +0 -27
  199. data/test/drawing/tc_hyperlink.rb +0 -64
  200. data/test/drawing/tc_line_3d_chart.rb +0 -47
  201. data/test/drawing/tc_line_chart.rb +0 -39
  202. data/test/drawing/tc_line_series.rb +0 -71
  203. data/test/drawing/tc_marker.rb +0 -44
  204. data/test/drawing/tc_named_axis_data.rb +0 -27
  205. data/test/drawing/tc_num_data.rb +0 -31
  206. data/test/drawing/tc_num_val.rb +0 -29
  207. data/test/drawing/tc_one_cell_anchor.rb +0 -66
  208. data/test/drawing/tc_pic.rb +0 -103
  209. data/test/drawing/tc_picture_locking.rb +0 -72
  210. data/test/drawing/tc_pie_3D_chart.rb +0 -28
  211. data/test/drawing/tc_pie_series.rb +0 -33
  212. data/test/drawing/tc_scaling.rb +0 -36
  213. data/test/drawing/tc_scatter_chart.rb +0 -48
  214. data/test/drawing/tc_scatter_series.rb +0 -74
  215. data/test/drawing/tc_ser_axis.rb +0 -31
  216. data/test/drawing/tc_series.rb +0 -23
  217. data/test/drawing/tc_series_title.rb +0 -54
  218. data/test/drawing/tc_str_data.rb +0 -18
  219. data/test/drawing/tc_str_val.rb +0 -30
  220. data/test/drawing/tc_title.rb +0 -70
  221. data/test/drawing/tc_two_cell_anchor.rb +0 -36
  222. data/test/drawing/tc_val_axis.rb +0 -24
  223. data/test/drawing/tc_view_3D.rb +0 -54
  224. data/test/drawing/tc_vml_drawing.rb +0 -25
  225. data/test/drawing/tc_vml_shape.rb +0 -106
  226. data/test/fixtures/image1.gif +0 -0
  227. data/test/fixtures/image1.jpeg +0 -0
  228. data/test/fixtures/image1.jpg +0 -0
  229. data/test/fixtures/image1.png +0 -0
  230. data/test/fixtures/image1_fake.jpg +0 -0
  231. data/test/profile.rb +0 -24
  232. data/test/rels/tc_relationship.rb +0 -52
  233. data/test/rels/tc_relationships.rb +0 -37
  234. data/test/stylesheet/tc_border.rb +0 -37
  235. data/test/stylesheet/tc_border_pr.rb +0 -32
  236. data/test/stylesheet/tc_cell_alignment.rb +0 -81
  237. data/test/stylesheet/tc_cell_protection.rb +0 -29
  238. data/test/stylesheet/tc_cell_style.rb +0 -57
  239. data/test/stylesheet/tc_color.rb +0 -43
  240. data/test/stylesheet/tc_dxf.rb +0 -81
  241. data/test/stylesheet/tc_fill.rb +0 -18
  242. data/test/stylesheet/tc_font.rb +0 -133
  243. data/test/stylesheet/tc_gradient_fill.rb +0 -72
  244. data/test/stylesheet/tc_gradient_stop.rb +0 -31
  245. data/test/stylesheet/tc_num_fmt.rb +0 -30
  246. data/test/stylesheet/tc_pattern_fill.rb +0 -43
  247. data/test/stylesheet/tc_styles.rb +0 -309
  248. data/test/stylesheet/tc_table_style.rb +0 -44
  249. data/test/stylesheet/tc_table_style_element.rb +0 -45
  250. data/test/stylesheet/tc_table_styles.rb +0 -29
  251. data/test/stylesheet/tc_xf.rb +0 -120
  252. data/test/tc_axlsx.rb +0 -109
  253. data/test/tc_helper.rb +0 -10
  254. data/test/tc_package.rb +0 -317
  255. data/test/util/tc_mime_type_utils.rb +0 -13
  256. data/test/util/tc_serialized_attributes.rb +0 -19
  257. data/test/util/tc_simple_typed_list.rb +0 -77
  258. data/test/util/tc_validators.rb +0 -210
  259. data/test/workbook/tc_defined_name.rb +0 -49
  260. data/test/workbook/tc_shared_strings_table.rb +0 -59
  261. data/test/workbook/tc_workbook.rb +0 -165
  262. data/test/workbook/tc_workbook_view.rb +0 -50
  263. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +0 -38
  264. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +0 -76
  265. data/test/workbook/worksheet/auto_filter/tc_filters.rb +0 -50
  266. data/test/workbook/worksheet/tc_break.rb +0 -49
  267. data/test/workbook/worksheet/tc_cell.rb +0 -465
  268. data/test/workbook/worksheet/tc_cfvo.rb +0 -31
  269. data/test/workbook/worksheet/tc_col.rb +0 -93
  270. data/test/workbook/worksheet/tc_color_scale.rb +0 -58
  271. data/test/workbook/worksheet/tc_comment.rb +0 -72
  272. data/test/workbook/worksheet/tc_comments.rb +0 -57
  273. data/test/workbook/worksheet/tc_conditional_formatting.rb +0 -224
  274. data/test/workbook/worksheet/tc_data_bar.rb +0 -46
  275. data/test/workbook/worksheet/tc_data_validation.rb +0 -265
  276. data/test/workbook/worksheet/tc_date_time_converter.rb +0 -124
  277. data/test/workbook/worksheet/tc_header_footer.rb +0 -151
  278. data/test/workbook/worksheet/tc_icon_set.rb +0 -45
  279. data/test/workbook/worksheet/tc_outline_pr.rb +0 -19
  280. data/test/workbook/worksheet/tc_page_margins.rb +0 -97
  281. data/test/workbook/worksheet/tc_page_set_up_pr.rb +0 -15
  282. data/test/workbook/worksheet/tc_page_setup.rb +0 -143
  283. data/test/workbook/worksheet/tc_pane.rb +0 -54
  284. data/test/workbook/worksheet/tc_pivot_table.rb +0 -180
  285. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +0 -62
  286. data/test/workbook/worksheet/tc_print_options.rb +0 -72
  287. data/test/workbook/worksheet/tc_protected_range.rb +0 -17
  288. data/test/workbook/worksheet/tc_rich_text.rb +0 -44
  289. data/test/workbook/worksheet/tc_rich_text_run.rb +0 -173
  290. data/test/workbook/worksheet/tc_row.rb +0 -160
  291. data/test/workbook/worksheet/tc_selection.rb +0 -55
  292. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +0 -18
  293. data/test/workbook/worksheet/tc_sheet_format_pr.rb +0 -88
  294. data/test/workbook/worksheet/tc_sheet_pr.rb +0 -49
  295. data/test/workbook/worksheet/tc_sheet_protection.rb +0 -117
  296. data/test/workbook/worksheet/tc_sheet_view.rb +0 -214
  297. data/test/workbook/worksheet/tc_table.rb +0 -77
  298. data/test/workbook/worksheet/tc_table_style_info.rb +0 -53
  299. data/test/workbook/worksheet/tc_worksheet.rb +0 -632
  300. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +0 -55
@@ -1,74 +1,74 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
-
4
- # A PieSeries defines the data and labels and explosion for pie charts series.
5
- # @note The recommended way to manage series is to use Chart#add_series
6
- # @see Worksheet#add_chart
7
- # @see Chart#add_series
8
- class PieSeries < Series
9
-
10
- # The data for this series.
11
- # @return [SimpleTypedList]
12
- attr_reader :data
13
-
14
- # The labels for this series.
15
- # @return [SimpleTypedList]
16
- attr_reader :labels
17
-
18
- # The explosion for this series
19
- # @return [Integert]
20
- attr_reader :explosion
21
-
22
- # An array of rgb colors to apply to your bar chart.
23
- attr_reader :colors
24
-
25
- # Creates a new series
26
- # @option options [Array, SimpleTypedList] data
27
- # @option options [Array, SimpleTypedList] labels
28
- # @option options [String] title
29
- # @option options [Integer] explosion
30
- # @param [Chart] chart
31
- def initialize(chart, options={})
32
- @explosion = nil
33
- @colors = []
34
- super(chart, options)
35
- self.labels = AxDataSource.new(:data => options[:labels]) unless options[:labels].nil?
36
- self.data = NumDataSource.new(options) unless options[:data].nil?
37
- end
38
-
39
- # @see colors
40
- def colors=(v) DataTypeValidator.validate "BarSeries.colors", [Array], v; @colors = v end
41
-
42
- # @see explosion
43
- def explosion=(v) Axlsx::validate_unsigned_int(v); @explosion = v; end
44
-
45
- # Serializes the object
46
- # @param [String] str
47
- # @return [String]
48
- def to_xml_string(str = '')
49
- super(str) do
50
- str << '<c:explosion val="' + @explosion.to_s + '"/>' unless @explosion.nil?
51
- colors.each_with_index do |c, index|
52
- str << '<c:dPt>'
53
- str << ('<c:idx val="' << index.to_s << '"/>')
54
- str << '<c:spPr><a:solidFill>'
55
- str << ('<a:srgbClr val="' << c << '"/>')
56
- str << '</a:solidFill></c:spPr></c:dPt>'
57
- end
58
- @labels.to_xml_string str unless @labels.nil?
59
- @data.to_xml_string str unless @data.nil?
60
- end
61
- str
62
- end
63
-
64
- private
65
-
66
- # assigns the data for this series
67
- def data=(v) DataTypeValidator.validate "Series.data", [NumDataSource], v; @data = v; end
68
-
69
- # assigns the labels for this series
70
- def labels=(v) DataTypeValidator.validate "Series.labels", [AxDataSource], v; @labels = v; end
71
-
72
- end
73
-
74
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+
4
+ # A PieSeries defines the data and labels and explosion for pie charts series.
5
+ # @note The recommended way to manage series is to use Chart#add_series
6
+ # @see Worksheet#add_chart
7
+ # @see Chart#add_series
8
+ class PieSeries < Series
9
+
10
+ # The data for this series.
11
+ # @return [SimpleTypedList]
12
+ attr_reader :data
13
+
14
+ # The labels for this series.
15
+ # @return [SimpleTypedList]
16
+ attr_reader :labels
17
+
18
+ # The explosion for this series
19
+ # @return [Integert]
20
+ attr_reader :explosion
21
+
22
+ # An array of rgb colors to apply to your bar chart.
23
+ attr_reader :colors
24
+
25
+ # Creates a new series
26
+ # @option options [Array, SimpleTypedList] data
27
+ # @option options [Array, SimpleTypedList] labels
28
+ # @option options [String] title
29
+ # @option options [Integer] explosion
30
+ # @param [Chart] chart
31
+ def initialize(chart, options={})
32
+ @explosion = nil
33
+ @colors = []
34
+ super(chart, options)
35
+ self.labels = AxDataSource.new(:data => options[:labels]) unless options[:labels].nil?
36
+ self.data = NumDataSource.new(options) unless options[:data].nil?
37
+ end
38
+
39
+ # @see colors
40
+ def colors=(v) DataTypeValidator.validate "BarSeries.colors", [Array], v; @colors = v end
41
+
42
+ # @see explosion
43
+ def explosion=(v) Axlsx::validate_unsigned_int(v); @explosion = v; end
44
+
45
+ # Serializes the object
46
+ # @param [String] str
47
+ # @return [String]
48
+ def to_xml_string(str = '')
49
+ super(str) do
50
+ str << '<c:explosion val="' + @explosion.to_s + '"/>' unless @explosion.nil?
51
+ colors.each_with_index do |c, index|
52
+ str << '<c:dPt>'
53
+ str << ('<c:idx val="' << index.to_s << '"/>')
54
+ str << '<c:spPr><a:solidFill>'
55
+ str << ('<a:srgbClr val="' << c << '"/>')
56
+ str << '</a:solidFill></c:spPr></c:dPt>'
57
+ end
58
+ @labels.to_xml_string str unless @labels.nil?
59
+ @data.to_xml_string str unless @data.nil?
60
+ end
61
+ str
62
+ end
63
+
64
+ private
65
+
66
+ # assigns the data for this series
67
+ def data=(v) DataTypeValidator.validate "Series.data", [NumDataSource], v; @data = v; end
68
+
69
+ # assigns the labels for this series
70
+ def labels=(v) DataTypeValidator.validate "Series.labels", [AxDataSource], v; @labels = v; end
71
+
72
+ end
73
+
74
+ end
@@ -1,60 +1,60 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # The Scaling class defines axis scaling
4
- class Scaling
5
-
6
- include Axlsx::OptionsParser
7
-
8
- # creates a new Scaling object
9
- # @option options [Integer] logBase
10
- # @option options [Symbol] orientation
11
- # @option options [Float] max
12
- # @option options [Float] min
13
- def initialize(options={})
14
- @orientation = :minMax
15
- @logBase, @min, @max = nil, nil, nil
16
- parse_options options
17
- end
18
-
19
- # logarithmic base for a logarithmic axis.
20
- # must be between 2 and 1000
21
- # @return [Integer]
22
- attr_reader :logBase
23
-
24
- # the orientation of the axis
25
- # must be one of [:minMax, :maxMin]
26
- # @return [Symbol]
27
- attr_reader :orientation
28
-
29
- # the maximum scaling
30
- # @return [Float]
31
- attr_reader :max
32
-
33
- # the minimu scaling
34
- # @return [Float]
35
- attr_reader :min
36
-
37
- # @see logBase
38
- def logBase=(v) DataTypeValidator.validate "Scaling.logBase", [Integer], v, lambda { |arg| arg >= 2 && arg <= 1000}; @logBase = v; end
39
- # @see orientation
40
- def orientation=(v) RestrictionValidator.validate "Scaling.orientation", [:minMax, :maxMin], v; @orientation = v; end
41
- # @see max
42
- def max=(v) DataTypeValidator.validate "Scaling.max", Float, v; @max = v; end
43
-
44
- # @see min
45
- def min=(v) DataTypeValidator.validate "Scaling.min", Float, v; @min = v; end
46
-
47
- # Serializes the object
48
- # @param [String] str
49
- # @return [String]
50
- def to_xml_string(str = '')
51
- str << '<c:scaling>'
52
- str << ('<c:logBase val="' << @logBase.to_s << '"/>') unless @logBase.nil?
53
- str << ('<c:orientation val="' << @orientation.to_s << '"/>') unless @orientation.nil?
54
- str << ('<c:min val="' << @min.to_s << '"/>') unless @min.nil?
55
- str << ('<c:max val="' << @max.to_s << '"/>') unless @max.nil?
56
- str << '</c:scaling>'
57
- end
58
-
59
- end
60
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+ # The Scaling class defines axis scaling
4
+ class Scaling
5
+
6
+ include Axlsx::OptionsParser
7
+
8
+ # creates a new Scaling object
9
+ # @option options [Integer] logBase
10
+ # @option options [Symbol] orientation
11
+ # @option options [Float] max
12
+ # @option options [Float] min
13
+ def initialize(options={})
14
+ @orientation = :minMax
15
+ @logBase, @min, @max = nil, nil, nil
16
+ parse_options options
17
+ end
18
+
19
+ # logarithmic base for a logarithmic axis.
20
+ # must be between 2 and 1000
21
+ # @return [Integer]
22
+ attr_reader :logBase
23
+
24
+ # the orientation of the axis
25
+ # must be one of [:minMax, :maxMin]
26
+ # @return [Symbol]
27
+ attr_reader :orientation
28
+
29
+ # the maximum scaling
30
+ # @return [Float]
31
+ attr_reader :max
32
+
33
+ # the minimu scaling
34
+ # @return [Float]
35
+ attr_reader :min
36
+
37
+ # @see logBase
38
+ def logBase=(v) DataTypeValidator.validate "Scaling.logBase", [Integer], v, lambda { |arg| arg >= 2 && arg <= 1000}; @logBase = v; end
39
+ # @see orientation
40
+ def orientation=(v) RestrictionValidator.validate "Scaling.orientation", [:minMax, :maxMin], v; @orientation = v; end
41
+ # @see max
42
+ def max=(v) DataTypeValidator.validate "Scaling.max", Float, v; @max = v; end
43
+
44
+ # @see min
45
+ def min=(v) DataTypeValidator.validate "Scaling.min", Float, v; @min = v; end
46
+
47
+ # Serializes the object
48
+ # @param [String] str
49
+ # @return [String]
50
+ def to_xml_string(str = '')
51
+ str << '<c:scaling>'
52
+ str << ('<c:logBase val="' << @logBase.to_s << '"/>') unless @logBase.nil?
53
+ str << ('<c:orientation val="' << @orientation.to_s << '"/>') unless @orientation.nil?
54
+ str << ('<c:min val="' << @min.to_s << '"/>') unless @min.nil?
55
+ str << ('<c:max val="' << @max.to_s << '"/>') unless @max.nil?
56
+ str << '</c:scaling>'
57
+ end
58
+
59
+ end
60
+ end
@@ -1,74 +1,74 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
-
4
- # The ScatterChart allows you to insert a scatter chart into your worksheet
5
- # @see Worksheet#add_chart
6
- # @see Chart#add_series
7
- # @see README for an example
8
- class ScatterChart < Chart
9
-
10
- include Axlsx::OptionsParser
11
-
12
- # The Style for the scatter chart
13
- # must be one of :none | :line | :lineMarker | :marker | :smooth | :smoothMarker
14
- # return [Symbol]
15
- attr_reader :scatter_style
16
- alias :scatterStyle :scatter_style
17
-
18
- # the x value axis
19
- # @return [ValAxis]
20
- def x_val_axis
21
- axes[:x_val_axis]
22
- end
23
- alias :xValAxis :x_val_axis
24
-
25
- # the y value axis
26
- # @return [ValAxis]
27
- def y_val_axis
28
- axes[:y_val_axis]
29
- end
30
- alias :yValAxis :y_val_axis
31
-
32
- # Creates a new scatter chart
33
- def initialize(frame, options={})
34
- @vary_colors = 0
35
- @scatter_style = :lineMarker
36
-
37
- super(frame, options)
38
- @series_type = ScatterSeries
39
- @d_lbls = nil
40
- parse_options options
41
- end
42
-
43
- # see #scatterStyle
44
- def scatter_style=(v)
45
- Axlsx.validate_scatter_style(v)
46
- @scatter_style = v
47
- end
48
- alias :scatterStyle= :scatter_style=
49
-
50
- # Serializes the object
51
- # @param [String] str
52
- # @return [String]
53
- def to_xml_string(str = '')
54
- super(str) do
55
- str << '<c:scatterChart>'
56
- str << ('<c:scatterStyle val="' << scatter_style.to_s << '"/>')
57
- str << ('<c:varyColors val="' << vary_colors.to_s << '"/>')
58
- @series.each { |ser| ser.to_xml_string(str) }
59
- d_lbls.to_xml_string(str) if @d_lbls
60
- axes.to_xml_string(str, :ids => true)
61
- str << '</c:scatterChart>'
62
- axes.to_xml_string(str)
63
- end
64
- str
65
- end
66
-
67
- # The axes for the scatter chart. ScatterChart has an x_val_axis and
68
- # a y_val_axis
69
- # @return [Axes]
70
- def axes
71
- @axes ||= Axes.new(:x_val_axis => ValAxis, :y_val_axis => ValAxis)
72
- end
73
- end
74
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+
4
+ # The ScatterChart allows you to insert a scatter chart into your worksheet
5
+ # @see Worksheet#add_chart
6
+ # @see Chart#add_series
7
+ # @see README for an example
8
+ class ScatterChart < Chart
9
+
10
+ include Axlsx::OptionsParser
11
+
12
+ # The Style for the scatter chart
13
+ # must be one of :none | :line | :lineMarker | :marker | :smooth | :smoothMarker
14
+ # return [Symbol]
15
+ attr_reader :scatter_style
16
+ alias :scatterStyle :scatter_style
17
+
18
+ # the x value axis
19
+ # @return [ValAxis]
20
+ def x_val_axis
21
+ axes[:x_val_axis]
22
+ end
23
+ alias :xValAxis :x_val_axis
24
+
25
+ # the y value axis
26
+ # @return [ValAxis]
27
+ def y_val_axis
28
+ axes[:y_val_axis]
29
+ end
30
+ alias :yValAxis :y_val_axis
31
+
32
+ # Creates a new scatter chart
33
+ def initialize(frame, options={})
34
+ @vary_colors = 0
35
+ @scatter_style = :lineMarker
36
+
37
+ super(frame, options)
38
+ @series_type = ScatterSeries
39
+ @d_lbls = nil
40
+ parse_options options
41
+ end
42
+
43
+ # see #scatterStyle
44
+ def scatter_style=(v)
45
+ Axlsx.validate_scatter_style(v)
46
+ @scatter_style = v
47
+ end
48
+ alias :scatterStyle= :scatter_style=
49
+
50
+ # Serializes the object
51
+ # @param [String] str
52
+ # @return [String]
53
+ def to_xml_string(str = '')
54
+ super(str) do
55
+ str << '<c:scatterChart>'
56
+ str << ('<c:scatterStyle val="' << scatter_style.to_s << '"/>')
57
+ str << ('<c:varyColors val="' << vary_colors.to_s << '"/>')
58
+ @series.each { |ser| ser.to_xml_string(str) }
59
+ d_lbls.to_xml_string(str) if @d_lbls
60
+ axes.to_xml_string(str, :ids => true)
61
+ str << '</c:scatterChart>'
62
+ axes.to_xml_string(str)
63
+ end
64
+ str
65
+ end
66
+
67
+ # The axes for the scatter chart. ScatterChart has an x_val_axis and
68
+ # a y_val_axis
69
+ # @return [Axes]
70
+ def axes
71
+ @axes ||= Axes.new(:x_val_axis => ValAxis, :y_val_axis => ValAxis)
72
+ end
73
+ end
74
+ end