caxlsx 3.0.4 → 3.2.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 (294) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/.yardopts_guide +18 -18
  4. data/CHANGELOG.md +354 -334
  5. data/LICENSE +21 -21
  6. data/README.md +168 -170
  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 -151
  21. data/lib/axlsx/drawing/bar_chart.rb +138 -143
  22. data/lib/axlsx/drawing/bar_series.rb +97 -80
  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 +276 -276
  27. data/lib/axlsx/drawing/d_lbls.rb +90 -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 -98
  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 +97 -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 +388 -363
  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 -71
  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 +494 -420
  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 +410 -401
  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 +395 -370
  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/break.rb +35 -35
  98. data/lib/axlsx/workbook/worksheet/cell.rb +506 -505
  99. data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
  100. data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
  101. data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
  102. data/lib/axlsx/workbook/worksheet/col.rb +145 -145
  103. data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
  104. data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
  105. data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
  106. data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
  107. data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
  108. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
  109. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
  110. data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
  111. data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
  112. data/lib/axlsx/workbook/worksheet/data_validation.rb +246 -246
  113. data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
  114. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
  115. data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
  116. data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
  117. data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
  118. data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
  119. data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
  120. data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
  121. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
  122. data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
  123. data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
  124. data/lib/axlsx/workbook/worksheet/pivot_table.rb +296 -289
  125. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
  126. data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
  127. data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
  128. data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
  129. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
  130. data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
  131. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
  132. data/lib/axlsx/workbook/worksheet/row.rb +164 -162
  133. data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
  134. data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
  135. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
  136. data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
  137. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
  138. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
  139. data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
  140. data/lib/axlsx/workbook/worksheet/table.rb +102 -102
  141. data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
  142. data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
  143. data/lib/axlsx/workbook/worksheet/worksheet.rb +786 -764
  144. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
  145. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
  146. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
  147. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
  148. data/lib/axlsx.rb +185 -170
  149. data/lib/caxlsx.rb +2 -2
  150. data/lib/schema/dc.xsd +118 -118
  151. data/lib/schema/dcmitype.xsd +51 -51
  152. data/lib/schema/dcterms.xsd +331 -331
  153. data/lib/schema/dml-chartDrawing.xsd +146 -146
  154. data/lib/schema/dml-compatibility.xsd +14 -14
  155. data/lib/schema/dml-lockedCanvas.xsd +11 -11
  156. data/lib/schema/dml-main.xsd +3048 -3048
  157. data/lib/schema/dml-picture.xsd +23 -23
  158. data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
  159. data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
  160. data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
  161. data/lib/schema/shared-bibliography.xsd +144 -144
  162. data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
  163. data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
  164. data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
  165. data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
  166. data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
  167. data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
  168. data/lib/schema/shared-relationshipReference.xsd +25 -25
  169. data/lib/schema/vml-main.xsd +569 -569
  170. data/lib/schema/vml-officeDrawing.xsd +509 -509
  171. data/lib/schema/vml-presentationDrawing.xsd +12 -12
  172. data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
  173. data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
  174. data/lib/schema/xml.xsd +116 -116
  175. data/test/benchmark.rb +72 -72
  176. data/test/content_type/tc_content_type.rb +76 -76
  177. data/test/content_type/tc_default.rb +16 -16
  178. data/test/content_type/tc_override.rb +14 -14
  179. data/test/doc_props/tc_app.rb +43 -43
  180. data/test/doc_props/tc_core.rb +42 -42
  181. data/test/drawing/tc_area_chart.rb +39 -39
  182. data/test/drawing/tc_area_series.rb +71 -71
  183. data/test/drawing/tc_axes.rb +7 -7
  184. data/test/drawing/tc_axis.rb +112 -112
  185. data/test/drawing/tc_bar_3D_chart.rb +86 -71
  186. data/test/drawing/tc_bar_chart.rb +86 -71
  187. data/test/drawing/tc_bar_series.rb +46 -37
  188. data/test/drawing/tc_bubble_chart.rb +44 -44
  189. data/test/drawing/tc_bubble_series.rb +21 -21
  190. data/test/drawing/tc_cat_axis.rb +31 -31
  191. data/test/drawing/tc_cat_axis_data.rb +27 -27
  192. data/test/drawing/tc_chart.rb +123 -123
  193. data/test/drawing/tc_d_lbls.rb +57 -57
  194. data/test/drawing/tc_data_source.rb +23 -23
  195. data/test/drawing/tc_drawing.rb +80 -80
  196. data/test/drawing/tc_graphic_frame.rb +27 -27
  197. data/test/drawing/tc_hyperlink.rb +64 -64
  198. data/test/drawing/tc_line_3d_chart.rb +47 -47
  199. data/test/drawing/tc_line_chart.rb +39 -39
  200. data/test/drawing/tc_line_series.rb +71 -71
  201. data/test/drawing/tc_marker.rb +44 -44
  202. data/test/drawing/tc_named_axis_data.rb +27 -27
  203. data/test/drawing/tc_num_data.rb +31 -31
  204. data/test/drawing/tc_num_val.rb +29 -29
  205. data/test/drawing/tc_one_cell_anchor.rb +66 -66
  206. data/test/drawing/tc_pic.rb +103 -103
  207. data/test/drawing/tc_picture_locking.rb +72 -72
  208. data/test/drawing/tc_pie_3D_chart.rb +28 -28
  209. data/test/drawing/tc_pie_series.rb +33 -33
  210. data/test/drawing/tc_scaling.rb +36 -36
  211. data/test/drawing/tc_scatter_chart.rb +48 -48
  212. data/test/drawing/tc_scatter_series.rb +74 -56
  213. data/test/drawing/tc_ser_axis.rb +31 -31
  214. data/test/drawing/tc_series.rb +23 -23
  215. data/test/drawing/tc_series_title.rb +54 -54
  216. data/test/drawing/tc_str_data.rb +18 -18
  217. data/test/drawing/tc_str_val.rb +30 -30
  218. data/test/drawing/tc_title.rb +70 -70
  219. data/test/drawing/tc_two_cell_anchor.rb +36 -36
  220. data/test/drawing/tc_val_axis.rb +24 -24
  221. data/test/drawing/tc_view_3D.rb +54 -54
  222. data/test/drawing/tc_vml_drawing.rb +25 -25
  223. data/test/drawing/tc_vml_shape.rb +106 -106
  224. data/test/profile.rb +24 -24
  225. data/test/rels/tc_relationship.rb +52 -52
  226. data/test/rels/tc_relationships.rb +37 -37
  227. data/test/stylesheet/tc_border.rb +37 -37
  228. data/test/stylesheet/tc_border_pr.rb +32 -32
  229. data/test/stylesheet/tc_cell_alignment.rb +81 -81
  230. data/test/stylesheet/tc_cell_protection.rb +29 -29
  231. data/test/stylesheet/tc_cell_style.rb +57 -57
  232. data/test/stylesheet/tc_color.rb +43 -43
  233. data/test/stylesheet/tc_dxf.rb +81 -81
  234. data/test/stylesheet/tc_fill.rb +18 -18
  235. data/test/stylesheet/tc_font.rb +133 -133
  236. data/test/stylesheet/tc_gradient_fill.rb +72 -72
  237. data/test/stylesheet/tc_gradient_stop.rb +31 -31
  238. data/test/stylesheet/tc_num_fmt.rb +30 -30
  239. data/test/stylesheet/tc_pattern_fill.rb +43 -43
  240. data/test/stylesheet/tc_styles.rb +309 -261
  241. data/test/stylesheet/tc_table_style.rb +44 -44
  242. data/test/stylesheet/tc_table_style_element.rb +45 -45
  243. data/test/stylesheet/tc_table_styles.rb +29 -29
  244. data/test/stylesheet/tc_xf.rb +120 -120
  245. data/test/tc_axlsx.rb +109 -109
  246. data/test/tc_helper.rb +10 -12
  247. data/test/tc_package.rb +317 -264
  248. data/test/util/tc_mime_type_utils.rb +13 -13
  249. data/test/util/tc_serialized_attributes.rb +19 -19
  250. data/test/util/tc_simple_typed_list.rb +77 -77
  251. data/test/util/tc_validators.rb +210 -210
  252. data/test/workbook/tc_defined_name.rb +49 -49
  253. data/test/workbook/tc_shared_strings_table.rb +59 -59
  254. data/test/workbook/tc_workbook.rb +165 -160
  255. data/test/workbook/tc_workbook_view.rb +50 -50
  256. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -38
  257. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -76
  258. data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -50
  259. data/test/workbook/worksheet/tc_break.rb +49 -49
  260. data/test/workbook/worksheet/tc_cell.rb +465 -453
  261. data/test/workbook/worksheet/tc_cfvo.rb +31 -31
  262. data/test/workbook/worksheet/tc_col.rb +93 -93
  263. data/test/workbook/worksheet/tc_color_scale.rb +58 -58
  264. data/test/workbook/worksheet/tc_comment.rb +72 -72
  265. data/test/workbook/worksheet/tc_comments.rb +57 -57
  266. data/test/workbook/worksheet/tc_conditional_formatting.rb +224 -224
  267. data/test/workbook/worksheet/tc_data_bar.rb +46 -46
  268. data/test/workbook/worksheet/tc_data_validation.rb +265 -265
  269. data/test/workbook/worksheet/tc_date_time_converter.rb +124 -124
  270. data/test/workbook/worksheet/tc_header_footer.rb +151 -151
  271. data/test/workbook/worksheet/tc_icon_set.rb +45 -45
  272. data/test/workbook/worksheet/tc_outline_pr.rb +19 -19
  273. data/test/workbook/worksheet/tc_page_margins.rb +97 -97
  274. data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -15
  275. data/test/workbook/worksheet/tc_page_setup.rb +143 -143
  276. data/test/workbook/worksheet/tc_pane.rb +54 -54
  277. data/test/workbook/worksheet/tc_pivot_table.rb +180 -135
  278. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +62 -54
  279. data/test/workbook/worksheet/tc_print_options.rb +72 -72
  280. data/test/workbook/worksheet/tc_protected_range.rb +17 -17
  281. data/test/workbook/worksheet/tc_rich_text.rb +44 -44
  282. data/test/workbook/worksheet/tc_rich_text_run.rb +173 -173
  283. data/test/workbook/worksheet/tc_row.rb +160 -139
  284. data/test/workbook/worksheet/tc_selection.rb +55 -55
  285. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -18
  286. data/test/workbook/worksheet/tc_sheet_format_pr.rb +88 -88
  287. data/test/workbook/worksheet/tc_sheet_pr.rb +49 -49
  288. data/test/workbook/worksheet/tc_sheet_protection.rb +117 -117
  289. data/test/workbook/worksheet/tc_sheet_view.rb +214 -214
  290. data/test/workbook/worksheet/tc_table.rb +77 -67
  291. data/test/workbook/worksheet/tc_table_style_info.rb +53 -53
  292. data/test/workbook/worksheet/tc_worksheet.rb +632 -601
  293. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +55 -55
  294. metadata +11 -11
@@ -1,45 +1,45 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- #A SerAxis object defines a series axis
4
- class SerAxis < Axis
5
-
6
- # The number of tick lables to skip between labels
7
- # @return [Integer]
8
- attr_reader :tick_lbl_skip
9
- alias :tickLblSkip :tick_lbl_skip
10
-
11
- # The number of tickmarks to be skipped before the next one is rendered.
12
- # @return [Boolean]
13
- attr_reader :tick_mark_skip
14
- alias :tickMarkSkip :tick_mark_skip
15
-
16
- # Creates a new SerAxis object
17
- # @option options [Integer] tick_lbl_skip
18
- # @option options [Integer] tick_mark_skip
19
- def initialize(options={})
20
- @tick_lbl_skip, @tick_mark_skip = 1, 1
21
- super(options)
22
- end
23
-
24
- # @see tickLblSkip
25
- def tick_lbl_skip=(v) Axlsx::validate_unsigned_int(v); @tick_lbl_skip = v; end
26
- alias :tickLblSkip= :tick_lbl_skip=
27
-
28
- # @see tickMarkSkip
29
- def tick_mark_skip=(v) Axlsx::validate_unsigned_int(v); @tick_mark_skip = v; end
30
- alias :tickMarkSkip= :tick_mark_skip=
31
-
32
- # Serializes the object
33
- # @param [String] str
34
- # @return [String]
35
- def to_xml_string(str = '')
36
- str << '<c:serAx>'
37
- super(str)
38
- str << ('<c:tickLblSkip val="' << @tick_lbl_skip.to_s << '"/>') unless @tick_lbl_skip.nil?
39
- str << ('<c:tickMarkSkip val="' << @tick_mark_skip.to_s << '"/>') unless @tick_mark_skip.nil?
40
- str << '</c:serAx>'
41
- end
42
- end
43
-
44
-
45
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+ #A SerAxis object defines a series axis
4
+ class SerAxis < Axis
5
+
6
+ # The number of tick lables to skip between labels
7
+ # @return [Integer]
8
+ attr_reader :tick_lbl_skip
9
+ alias :tickLblSkip :tick_lbl_skip
10
+
11
+ # The number of tickmarks to be skipped before the next one is rendered.
12
+ # @return [Boolean]
13
+ attr_reader :tick_mark_skip
14
+ alias :tickMarkSkip :tick_mark_skip
15
+
16
+ # Creates a new SerAxis object
17
+ # @option options [Integer] tick_lbl_skip
18
+ # @option options [Integer] tick_mark_skip
19
+ def initialize(options={})
20
+ @tick_lbl_skip, @tick_mark_skip = 1, 1
21
+ super(options)
22
+ end
23
+
24
+ # @see tickLblSkip
25
+ def tick_lbl_skip=(v) Axlsx::validate_unsigned_int(v); @tick_lbl_skip = v; end
26
+ alias :tickLblSkip= :tick_lbl_skip=
27
+
28
+ # @see tickMarkSkip
29
+ def tick_mark_skip=(v) Axlsx::validate_unsigned_int(v); @tick_mark_skip = v; end
30
+ alias :tickMarkSkip= :tick_mark_skip=
31
+
32
+ # Serializes the object
33
+ # @param [String] str
34
+ # @return [String]
35
+ def to_xml_string(str = '')
36
+ str << '<c:serAx>'
37
+ super(str)
38
+ str << ('<c:tickLblSkip val="' << @tick_lbl_skip.to_s << '"/>') unless @tick_lbl_skip.nil?
39
+ str << ('<c:tickMarkSkip val="' << @tick_mark_skip.to_s << '"/>') unless @tick_mark_skip.nil?
40
+ str << '</c:serAx>'
41
+ end
42
+ end
43
+
44
+
45
+ end
@@ -1,69 +1,69 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # A Series defines the common series attributes and is the super class for all concrete series types.
4
- # @note The recommended way to manage series is to use Chart#add_series
5
- # @see Worksheet#add_chart
6
- # @see Chart#add_series
7
- class Series
8
-
9
- include Axlsx::OptionsParser
10
-
11
- # The chart that owns this series
12
- # @return [Chart]
13
- attr_reader :chart
14
-
15
- # The title of the series
16
- # @return [SeriesTitle]
17
- attr_reader :title
18
-
19
- # Creates a new series
20
- # @param [Chart] chart
21
- # @option options [Integer] order
22
- # @option options [String] title
23
- def initialize(chart, options={})
24
- @order = nil
25
- self.chart = chart
26
- @chart.series << self
27
- parse_options options
28
- end
29
-
30
- # The index of this series in the chart's series.
31
- # @return [Integer]
32
- def index
33
- @chart.series.index(self)
34
- end
35
-
36
- # The order of this series in the chart's series. By default the order is the index of the series.
37
- # @return [Integer]
38
- def order
39
- @order || index
40
- end
41
-
42
- # @see order
43
- def order=(v) Axlsx::validate_unsigned_int(v); @order = v; end
44
-
45
- # @see title
46
- def title=(v)
47
- v = SeriesTitle.new(v) if v.is_a?(String) || v.is_a?(Cell)
48
- DataTypeValidator.validate "#{self.class}.title", SeriesTitle, v
49
- @title = v
50
- end
51
-
52
- private
53
-
54
- # assigns the chart for this series
55
- def chart=(v) DataTypeValidator.validate "Series.chart", Chart, v; @chart = v; end
56
-
57
- # Serializes the object
58
- # @param [String] str
59
- # @return [String]
60
- def to_xml_string(str = '')
61
- str << '<c:ser>'
62
- str << ('<c:idx val="' << index.to_s << '"/>')
63
- str << ('<c:order val="' << (order || index).to_s << '"/>')
64
- title.to_xml_string(str) unless title.nil?
65
- yield if block_given?
66
- str << '</c:ser>'
67
- end
68
- end
69
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+ # A Series defines the common series attributes and is the super class for all concrete series types.
4
+ # @note The recommended way to manage series is to use Chart#add_series
5
+ # @see Worksheet#add_chart
6
+ # @see Chart#add_series
7
+ class Series
8
+
9
+ include Axlsx::OptionsParser
10
+
11
+ # The chart that owns this series
12
+ # @return [Chart]
13
+ attr_reader :chart
14
+
15
+ # The title of the series
16
+ # @return [SeriesTitle]
17
+ attr_reader :title
18
+
19
+ # Creates a new series
20
+ # @param [Chart] chart
21
+ # @option options [Integer] order
22
+ # @option options [String] title
23
+ def initialize(chart, options={})
24
+ @order = nil
25
+ self.chart = chart
26
+ @chart.series << self
27
+ parse_options options
28
+ end
29
+
30
+ # The index of this series in the chart's series.
31
+ # @return [Integer]
32
+ def index
33
+ @chart.series.index(self)
34
+ end
35
+
36
+ # The order of this series in the chart's series. By default the order is the index of the series.
37
+ # @return [Integer]
38
+ def order
39
+ @order || index
40
+ end
41
+
42
+ # @see order
43
+ def order=(v) Axlsx::validate_unsigned_int(v); @order = v; end
44
+
45
+ # @see title
46
+ def title=(v)
47
+ v = SeriesTitle.new(v) if v.is_a?(String) || v.is_a?(Cell)
48
+ DataTypeValidator.validate "#{self.class}.title", SeriesTitle, v
49
+ @title = v
50
+ end
51
+
52
+ private
53
+
54
+ # assigns the chart for this series
55
+ def chart=(v) DataTypeValidator.validate "Series.chart", Chart, v; @chart = v; end
56
+
57
+ # Serializes the object
58
+ # @param [String] str
59
+ # @return [String]
60
+ def to_xml_string(str = '')
61
+ str << '<c:ser>'
62
+ str << ('<c:idx val="' << index.to_s << '"/>')
63
+ str << ('<c:order val="' << (order || index).to_s << '"/>')
64
+ title.to_xml_string(str) unless title.nil?
65
+ yield if block_given?
66
+ str << '</c:ser>'
67
+ end
68
+ end
69
+ end
@@ -1,25 +1,25 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # A series title is a Title with a slightly different serialization than chart titles.
4
- class SeriesTitle < Title
5
-
6
- # Serializes the object
7
- # @param [String] str
8
- # @return [String]
9
- def to_xml_string(str = '')
10
- clean_value = Axlsx::trust_input ? @text.to_s : ::CGI.escapeHTML(Axlsx::sanitize(@text.to_s))
11
-
12
- str << '<c:tx>'
13
- str << '<c:strRef>'
14
- str << ('<c:f>' << Axlsx::cell_range([@cell]) << '</c:f>')
15
- str << '<c:strCache>'
16
- str << '<c:ptCount val="1"/>'
17
- str << '<c:pt idx="0">'
18
- str << ('<c:v>' << clean_value << '</c:v>')
19
- str << '</c:pt>'
20
- str << '</c:strCache>'
21
- str << '</c:strRef>'
22
- str << '</c:tx>'
23
- end
24
- end
25
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+ # A series title is a Title with a slightly different serialization than chart titles.
4
+ class SeriesTitle < Title
5
+
6
+ # Serializes the object
7
+ # @param [String] str
8
+ # @return [String]
9
+ def to_xml_string(str = '')
10
+ clean_value = Axlsx::trust_input ? @text.to_s : ::CGI.escapeHTML(Axlsx::sanitize(@text.to_s))
11
+
12
+ str << '<c:tx>'
13
+ str << '<c:strRef>'
14
+ str << ('<c:f>' << Axlsx::cell_range([@cell]) << '</c:f>')
15
+ str << '<c:strCache>'
16
+ str << '<c:ptCount val="1"/>'
17
+ str << '<c:pt idx="0">'
18
+ str << ('<c:v>' << clean_value << '</c:v>')
19
+ str << '</c:pt>'
20
+ str << '</c:strCache>'
21
+ str << '</c:strRef>'
22
+ str << '</c:tx>'
23
+ end
24
+ end
25
+ end
@@ -1,42 +1,42 @@
1
- # -*- coding: utf-8 -*-
2
- module Axlsx
3
-
4
- #This specifies the last string data used for a chart. (e.g. strLit and strCache)
5
- # This class is extended for NumData to include the formatCode attribute required for numLit and numCache
6
- class StrData
7
-
8
- include Axlsx::OptionsParser
9
-
10
- # creates a new StrVal object
11
- # @option options [Array] :data
12
- # @option options [String] :tag_name
13
- def initialize(options={})
14
- @tag_prefix = :str
15
- @type = StrVal
16
- @pt = SimpleTypedList.new(@type)
17
- parse_options options
18
- end
19
-
20
- # Creates the val objects for this data set. I am not overly confident this is going to play nicely with time and data types.
21
- # @param [Array] values An array of cells or values.
22
- def data=(values=[])
23
- @tag_name = values.first.is_a?(Cell) ? :strCache : :strLit
24
- values.each do |value|
25
- v = value.is_a?(Cell) ? value.value : value
26
- @pt << @type.new(:v => v)
27
- end
28
- end
29
-
30
- # serialize the object
31
- def to_xml_string(str = "")
32
- str << ('<c:' << @tag_name.to_s << '>')
33
- str << ('<c:ptCount val="' << @pt.size.to_s << '"/>')
34
- @pt.each_with_index do |value, index|
35
- value.to_xml_string index, str
36
- end
37
- str << ('</c:' << @tag_name.to_s << '>')
38
- end
39
-
40
- end
41
-
42
- end
1
+ # -*- coding: utf-8 -*-
2
+ module Axlsx
3
+
4
+ #This specifies the last string data used for a chart. (e.g. strLit and strCache)
5
+ # This class is extended for NumData to include the formatCode attribute required for numLit and numCache
6
+ class StrData
7
+
8
+ include Axlsx::OptionsParser
9
+
10
+ # creates a new StrVal object
11
+ # @option options [Array] :data
12
+ # @option options [String] :tag_name
13
+ def initialize(options={})
14
+ @tag_prefix = :str
15
+ @type = StrVal
16
+ @pt = SimpleTypedList.new(@type)
17
+ parse_options options
18
+ end
19
+
20
+ # Creates the val objects for this data set. I am not overly confident this is going to play nicely with time and data types.
21
+ # @param [Array] values An array of cells or values.
22
+ def data=(values=[])
23
+ @tag_name = values.first.is_a?(Cell) ? :strCache : :strLit
24
+ values.each do |value|
25
+ v = value.is_a?(Cell) ? value.value : value
26
+ @pt << @type.new(:v => v)
27
+ end
28
+ end
29
+
30
+ # serialize the object
31
+ def to_xml_string(str = "")
32
+ str << ('<c:' << @tag_name.to_s << '>')
33
+ str << ('<c:ptCount val="' << @pt.size.to_s << '"/>')
34
+ @pt.each_with_index do |value, index|
35
+ value.to_xml_string index, str
36
+ end
37
+ str << ('</c:' << @tag_name.to_s << '>')
38
+ end
39
+
40
+ end
41
+
42
+ end
@@ -1,34 +1,34 @@
1
- # -*- coding: utf-8 -*-
2
- module Axlsx
3
-
4
- #This class specifies data for a particular data point.
5
- class StrVal
6
-
7
- include Axlsx::OptionsParser
8
-
9
- # creates a new StrVal object
10
- # @option options [String] v
11
- def initialize(options={})
12
- @v = ""
13
- @idx = 0
14
- parse_options options
15
- end
16
-
17
- # a string value.
18
- # @return [String]
19
- attr_reader :v
20
-
21
- # @see v
22
- def v=(v)
23
- @v = v.to_s
24
- end
25
-
26
- # serialize the object
27
- def to_xml_string(idx, str = "")
28
- Axlsx::validate_unsigned_int(idx)
29
- if !v.to_s.empty?
30
- str << ('<c:pt idx="' << idx.to_s << '"><c:v>' << ::CGI.escapeHTML(v.to_s) << '</c:v></c:pt>')
31
- end
32
- end
33
- end
34
- end
1
+ # -*- coding: utf-8 -*-
2
+ module Axlsx
3
+
4
+ #This class specifies data for a particular data point.
5
+ class StrVal
6
+
7
+ include Axlsx::OptionsParser
8
+
9
+ # creates a new StrVal object
10
+ # @option options [String] v
11
+ def initialize(options={})
12
+ @v = ""
13
+ @idx = 0
14
+ parse_options options
15
+ end
16
+
17
+ # a string value.
18
+ # @return [String]
19
+ attr_reader :v
20
+
21
+ # @see v
22
+ def v=(v)
23
+ @v = v.to_s
24
+ end
25
+
26
+ # serialize the object
27
+ def to_xml_string(idx, str = "")
28
+ Axlsx::validate_unsigned_int(idx)
29
+ if !v.to_s.empty?
30
+ str << ('<c:pt idx="' << idx.to_s << '"><c:v>' << ::CGI.escapeHTML(v.to_s) << '</c:v></c:pt>')
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,97 +1,97 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # A Title stores information about the title of a chart
4
- class Title
5
-
6
- # The text to be shown. Setting this property directly with a string will remove the cell reference.
7
- # @return [String]
8
- attr_reader :text
9
-
10
- # Text size property
11
- # @return [String]
12
- attr_reader :text_size
13
-
14
- # The cell that holds the text for the title. Setting this property will automatically update the text attribute.
15
- # @return [Cell]
16
- attr_reader :cell
17
-
18
- # Creates a new Title object
19
- # @param [String, Cell] title The cell or string to be used for the chart's title
20
- def initialize(title="", title_size="")
21
- self.cell = title if title.is_a?(Cell)
22
- self.text = title.to_s unless title.is_a?(Cell)
23
- if title_size.to_s.empty?
24
- self.text_size = "1600"
25
- else
26
- self.text_size = title_size.to_s
27
- end
28
- end
29
-
30
- # @see text
31
- def text=(v)
32
- DataTypeValidator.validate 'Title.text', String, v
33
- @text = v
34
- @cell = nil
35
- v
36
- end
37
-
38
- # @see text_size
39
- def text_size=(v)
40
- DataTypeValidator.validate 'Title.text_size', String, v
41
- @text_size = v
42
- @cell = nil
43
- v
44
- end
45
-
46
- # @see cell
47
- def cell=(v)
48
- DataTypeValidator.validate 'Title.text', Cell, v
49
- @cell = v
50
- @text = v.value.to_s
51
- v
52
- end
53
-
54
- # Not implemented at this time.
55
- #def layout=(v) DataTypeValidator.validate 'Title.layout', Layout, v; @layout = v; end
56
- #def overlay=(v) Axlsx::validate_boolean v; @overlay=v; end
57
- #def spPr=(v) DataTypeValidator.validate 'Title.spPr', SpPr, v; @spPr = v; end
58
-
59
- # Serializes the object
60
- # @param [String] str
61
- # @return [String]
62
- def to_xml_string(str = '')
63
- str << '<c:title>'
64
- unless @text.empty?
65
- clean_value = Axlsx::trust_input ? @text.to_s : ::CGI.escapeHTML(Axlsx::sanitize(@text.to_s))
66
- str << '<c:tx>'
67
- if @cell.is_a?(Cell)
68
- str << '<c:strRef>'
69
- str << ('<c:f>' << Axlsx::cell_range([@cell]) << '</c:f>')
70
- str << '<c:strCache>'
71
- str << '<c:ptCount val="1"/>'
72
- str << '<c:pt idx="0">'
73
- str << ('<c:v>' << clean_value << '</c:v>')
74
- str << '</c:pt>'
75
- str << '</c:strCache>'
76
- str << '</c:strRef>'
77
- else
78
- str << '<c:rich>'
79
- str << '<a:bodyPr/>'
80
- str << '<a:lstStyle/>'
81
- str << '<a:p>'
82
- str << '<a:r>'
83
- str << ('<a:rPr sz="' << @text_size.to_s << '"/>')
84
- str << ('<a:t>' << clean_value << '</a:t>')
85
- str << '</a:r>'
86
- str << '</a:p>'
87
- str << '</c:rich>'
88
- end
89
- str << '</c:tx>'
90
- end
91
- str << '<c:layout/>'
92
- str << '<c:overlay val="0"/>'
93
- str << '</c:title>'
94
- end
95
-
96
- end
97
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+ # A Title stores information about the title of a chart
4
+ class Title
5
+
6
+ # The text to be shown. Setting this property directly with a string will remove the cell reference.
7
+ # @return [String]
8
+ attr_reader :text
9
+
10
+ # Text size property
11
+ # @return [String]
12
+ attr_reader :text_size
13
+
14
+ # The cell that holds the text for the title. Setting this property will automatically update the text attribute.
15
+ # @return [Cell]
16
+ attr_reader :cell
17
+
18
+ # Creates a new Title object
19
+ # @param [String, Cell] title The cell or string to be used for the chart's title
20
+ def initialize(title="", title_size="")
21
+ self.cell = title if title.is_a?(Cell)
22
+ self.text = title.to_s unless title.is_a?(Cell)
23
+ if title_size.to_s.empty?
24
+ self.text_size = "1600"
25
+ else
26
+ self.text_size = title_size.to_s
27
+ end
28
+ end
29
+
30
+ # @see text
31
+ def text=(v)
32
+ DataTypeValidator.validate 'Title.text', String, v
33
+ @text = v
34
+ @cell = nil
35
+ v
36
+ end
37
+
38
+ # @see text_size
39
+ def text_size=(v)
40
+ DataTypeValidator.validate 'Title.text_size', String, v
41
+ @text_size = v
42
+ @cell = nil
43
+ v
44
+ end
45
+
46
+ # @see cell
47
+ def cell=(v)
48
+ DataTypeValidator.validate 'Title.text', Cell, v
49
+ @cell = v
50
+ @text = v.value.to_s
51
+ v
52
+ end
53
+
54
+ # Not implemented at this time.
55
+ #def layout=(v) DataTypeValidator.validate 'Title.layout', Layout, v; @layout = v; end
56
+ #def overlay=(v) Axlsx::validate_boolean v; @overlay=v; end
57
+ #def spPr=(v) DataTypeValidator.validate 'Title.spPr', SpPr, v; @spPr = v; end
58
+
59
+ # Serializes the object
60
+ # @param [String] str
61
+ # @return [String]
62
+ def to_xml_string(str = '')
63
+ str << '<c:title>'
64
+ unless @text.empty?
65
+ clean_value = Axlsx::trust_input ? @text.to_s : ::CGI.escapeHTML(Axlsx::sanitize(@text.to_s))
66
+ str << '<c:tx>'
67
+ if @cell.is_a?(Cell)
68
+ str << '<c:strRef>'
69
+ str << ('<c:f>' << Axlsx::cell_range([@cell]) << '</c:f>')
70
+ str << '<c:strCache>'
71
+ str << '<c:ptCount val="1"/>'
72
+ str << '<c:pt idx="0">'
73
+ str << ('<c:v>' << clean_value << '</c:v>')
74
+ str << '</c:pt>'
75
+ str << '</c:strCache>'
76
+ str << '</c:strRef>'
77
+ else
78
+ str << '<c:rich>'
79
+ str << '<a:bodyPr/>'
80
+ str << '<a:lstStyle/>'
81
+ str << '<a:p>'
82
+ str << '<a:r>'
83
+ str << ('<a:rPr sz="' << @text_size.to_s << '"/>')
84
+ str << ('<a:t>' << clean_value << '</a:t>')
85
+ str << '</a:r>'
86
+ str << '</a:p>'
87
+ str << '</c:rich>'
88
+ end
89
+ str << '</c:tx>'
90
+ end
91
+ str << '<c:layout/>'
92
+ str << '<c:overlay val="0"/>'
93
+ str << '</c:title>'
94
+ end
95
+
96
+ end
97
+ end