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,79 +1,79 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # The Dxf class defines an incremental formatting record for use in Styles. The recommended way to manage styles for your workbook is with Styles#add_style
4
- # @see Styles#add_style
5
- class Dxf
6
-
7
- include Axlsx::OptionsParser
8
-
9
- # The order in which the child elements is put in the XML seems to
10
- # be important for Excel
11
- CHILD_ELEMENTS = [:font, :numFmt, :fill, :alignment, :border, :protection]
12
- #does not support extList (ExtensionList)
13
-
14
- # The cell alignment for this style
15
- # @return [CellAlignment]
16
- # @see CellAlignment
17
- attr_reader :alignment
18
-
19
- # The cell protection for this style
20
- # @return [CellProtection]
21
- # @see CellProtection
22
- attr_reader :protection
23
-
24
- # the child NumFmt to be used to this style
25
- # @return [NumFmt]
26
- attr_reader :numFmt
27
-
28
- # the child font to be used for this style
29
- # @return [Font]
30
- attr_reader :font
31
-
32
- # the child fill to be used in this style
33
- # @return [Fill]
34
- attr_reader :fill
35
-
36
- # the border to be used in this style
37
- # @return [Border]
38
- attr_reader :border
39
-
40
- # Creates a new Xf object
41
- # @option options [Border] border
42
- # @option options [NumFmt] numFmt
43
- # @option options [Fill] fill
44
- # @option options [Font] font
45
- # @option options [CellAlignment] alignment
46
- # @option options [CellProtection] protection
47
- def initialize(options={})
48
- parse_options options
49
- end
50
-
51
- # @see Dxf#alignment
52
- def alignment=(v) DataTypeValidator.validate "Dxf.alignment", CellAlignment, v; @alignment = v end
53
- # @see protection
54
- def protection=(v) DataTypeValidator.validate "Dxf.protection", CellProtection, v; @protection = v end
55
- # @see numFmt
56
- def numFmt=(v) DataTypeValidator.validate "Dxf.numFmt", NumFmt, v; @numFmt = v end
57
- # @see font
58
- def font=(v) DataTypeValidator.validate "Dxf.font", Font, v; @font = v end
59
- # @see border
60
- def border=(v) DataTypeValidator.validate "Dxf.border", Border, v; @border = v end
61
- # @see fill
62
- def fill=(v) DataTypeValidator.validate "Dxf.fill", Fill, v; @fill = v end
63
-
64
- # Serializes the object
65
- # @param [String] str
66
- # @return [String]
67
- def to_xml_string(str = '')
68
- str << '<dxf>'
69
- # Dxf elements have no attributes. All of the instance variables
70
- # are child elements.
71
- CHILD_ELEMENTS.each do |element|
72
- self.send(element).to_xml_string(str) if self.send(element)
73
- end
74
- str << '</dxf>'
75
- end
76
-
77
- end
78
-
79
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+ # The Dxf class defines an incremental formatting record for use in Styles. The recommended way to manage styles for your workbook is with Styles#add_style
4
+ # @see Styles#add_style
5
+ class Dxf
6
+
7
+ include Axlsx::OptionsParser
8
+
9
+ # The order in which the child elements is put in the XML seems to
10
+ # be important for Excel
11
+ CHILD_ELEMENTS = [:font, :numFmt, :fill, :alignment, :border, :protection]
12
+ #does not support extList (ExtensionList)
13
+
14
+ # The cell alignment for this style
15
+ # @return [CellAlignment]
16
+ # @see CellAlignment
17
+ attr_reader :alignment
18
+
19
+ # The cell protection for this style
20
+ # @return [CellProtection]
21
+ # @see CellProtection
22
+ attr_reader :protection
23
+
24
+ # the child NumFmt to be used to this style
25
+ # @return [NumFmt]
26
+ attr_reader :numFmt
27
+
28
+ # the child font to be used for this style
29
+ # @return [Font]
30
+ attr_reader :font
31
+
32
+ # the child fill to be used in this style
33
+ # @return [Fill]
34
+ attr_reader :fill
35
+
36
+ # the border to be used in this style
37
+ # @return [Border]
38
+ attr_reader :border
39
+
40
+ # Creates a new Xf object
41
+ # @option options [Border] border
42
+ # @option options [NumFmt] numFmt
43
+ # @option options [Fill] fill
44
+ # @option options [Font] font
45
+ # @option options [CellAlignment] alignment
46
+ # @option options [CellProtection] protection
47
+ def initialize(options={})
48
+ parse_options options
49
+ end
50
+
51
+ # @see Dxf#alignment
52
+ def alignment=(v) DataTypeValidator.validate "Dxf.alignment", CellAlignment, v; @alignment = v end
53
+ # @see protection
54
+ def protection=(v) DataTypeValidator.validate "Dxf.protection", CellProtection, v; @protection = v end
55
+ # @see numFmt
56
+ def numFmt=(v) DataTypeValidator.validate "Dxf.numFmt", NumFmt, v; @numFmt = v end
57
+ # @see font
58
+ def font=(v) DataTypeValidator.validate "Dxf.font", Font, v; @font = v end
59
+ # @see border
60
+ def border=(v) DataTypeValidator.validate "Dxf.border", Border, v; @border = v end
61
+ # @see fill
62
+ def fill=(v) DataTypeValidator.validate "Dxf.fill", Fill, v; @fill = v end
63
+
64
+ # Serializes the object
65
+ # @param [String] str
66
+ # @return [String]
67
+ def to_xml_string(str = '')
68
+ str << '<dxf>'
69
+ # Dxf elements have no attributes. All of the instance variables
70
+ # are child elements.
71
+ CHILD_ELEMENTS.each do |element|
72
+ self.send(element).to_xml_string(str) if self.send(element)
73
+ end
74
+ str << '</dxf>'
75
+ end
76
+
77
+ end
78
+
79
+ end
@@ -1,35 +1,35 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # The Fill is a formatting object that manages the background color, and pattern for cells.
4
- # @note The recommended way to manage styles in your workbook is to use Styles#add_style.
5
- # @see Styles#add_style
6
- # @see PatternFill
7
- # @see GradientFill
8
- class Fill
9
-
10
- # The type of fill
11
- # @return [PatternFill, GradientFill]
12
- attr_reader :fill_type
13
-
14
- # Creates a new Fill object
15
- # @param [PatternFill, GradientFill] fill_type
16
- # @raise [ArgumentError] if the fill_type parameter is not a PatternFill or a GradientFill instance
17
- def initialize(fill_type)
18
- self.fill_type = fill_type
19
- end
20
-
21
- # Serializes the object
22
- # @param [String] str
23
- # @return [String]
24
- def to_xml_string(str = '')
25
- str << '<fill>'
26
- @fill_type.to_xml_string(str)
27
- str << '</fill>'
28
- end
29
-
30
- # @see fill_type
31
- def fill_type=(v) DataTypeValidator.validate "Fill.fill_type", [PatternFill, GradientFill], v; @fill_type = v; end
32
-
33
-
34
- end
35
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+ # The Fill is a formatting object that manages the background color, and pattern for cells.
4
+ # @note The recommended way to manage styles in your workbook is to use Styles#add_style.
5
+ # @see Styles#add_style
6
+ # @see PatternFill
7
+ # @see GradientFill
8
+ class Fill
9
+
10
+ # The type of fill
11
+ # @return [PatternFill, GradientFill]
12
+ attr_reader :fill_type
13
+
14
+ # Creates a new Fill object
15
+ # @param [PatternFill, GradientFill] fill_type
16
+ # @raise [ArgumentError] if the fill_type parameter is not a PatternFill or a GradientFill instance
17
+ def initialize(fill_type)
18
+ self.fill_type = fill_type
19
+ end
20
+
21
+ # Serializes the object
22
+ # @param [String] str
23
+ # @return [String]
24
+ def to_xml_string(str = '')
25
+ str << '<fill>'
26
+ @fill_type.to_xml_string(str)
27
+ str << '</fill>'
28
+ end
29
+
30
+ # @see fill_type
31
+ def fill_type=(v) DataTypeValidator.validate "Fill.fill_type", [PatternFill, GradientFill], v; @fill_type = v; end
32
+
33
+
34
+ end
35
+ end
@@ -1,156 +1,156 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # The Font class details a font instance for use in styling cells.
4
- # @note The recommended way to manage fonts, and other styles is Styles#add_style
5
- # @see Styles#add_style
6
- class Font
7
- include Axlsx::OptionsParser
8
-
9
- # Creates a new Font
10
- # @option options [String] name
11
- # @option options [Integer] charset
12
- # @option options [Integer] family
13
- # @option options [Integer] family
14
- # @option options [Boolean] b
15
- # @option options [Boolean] i
16
- # @option options [Boolean] u
17
- # @option options [Boolean] strike
18
- # @option options [Boolean] outline
19
- # @option options [Boolean] shadow
20
- # @option options [Boolean] condense
21
- # @option options [Boolean] extend
22
- # @option options [Color] color
23
- # @option options [Integer] sz
24
- def initialize(options={})
25
- parse_options options
26
- end
27
-
28
- # The name of the font
29
- # @return [String]
30
- attr_reader :name
31
-
32
- # The charset of the font
33
- # @return [Integer]
34
- # @note
35
- # The following values are defined in the OOXML specification and are OS dependant values
36
- # 0 ANSI_CHARSET
37
- # 1 DEFAULT_CHARSET
38
- # 2 SYMBOL_CHARSET
39
- # 77 MAC_CHARSET
40
- # 128 SHIFTJIS_CHARSET
41
- # 129 HANGUL_CHARSET
42
- # 130 JOHAB_CHARSET
43
- # 134 GB2312_CHARSET
44
- # 136 CHINESEBIG5_CHARSET
45
- # 161 GREEK_CHARSET
46
- # 162 TURKISH_CHARSET
47
- # 163 VIETNAMESE_CHARSET
48
- # 177 HEBREW_CHARSET
49
- # 178 ARABIC_CHARSET
50
- # 186 BALTIC_CHARSET
51
- # 204 RUSSIAN_CHARSET
52
- # 222 THAI_CHARSET
53
- # 238 EASTEUROPE_CHARSET
54
- # 255 OEM_CHARSET
55
- attr_reader :charset
56
-
57
- # The font's family
58
- # @note
59
- # The following are defined OOXML specification
60
- # 0 Not applicable.
61
- # 1 Roman
62
- # 2 Swiss
63
- # 3 Modern
64
- # 4 Script
65
- # 5 Decorative
66
- # 6..14 Reserved for future use
67
- # @return [Integer]
68
- attr_reader :family
69
-
70
- # Indicates if the font should be rendered in *bold*
71
- # @return [Boolean]
72
- attr_reader :b
73
-
74
- # Indicates if the font should be rendered italicized
75
- # @return [Boolean]
76
- attr_reader :i
77
-
78
- # Indicates if the font should be rendered underlined
79
- # It must be one of :none, :single, :double, :singleAccounting, :doubleAccounting, true, false
80
- # @return [String]
81
- # @note
82
- # true or false is for backwards compatibility and is reassigned to :single or :none respectively
83
- attr_reader :u
84
-
85
- # Indicates if the font should be rendered with a strikthrough
86
- # @return [Boolean]
87
- attr_reader :strike
88
-
89
- # Indicates if the font should be rendered with an outline
90
- # @return [Boolean]
91
- attr_reader :outline
92
-
93
- # Indicates if the font should be rendered with a shadow
94
- # @return [Boolean]
95
- attr_reader :shadow
96
-
97
- # Indicates if the font should be condensed
98
- # @return [Boolean]
99
- attr_reader :condense
100
-
101
- # The font's extend property
102
- # @return [Boolean]
103
- attr_reader :extend
104
-
105
- # The color of the font
106
- # @return [Color]
107
- attr_reader :color
108
-
109
- # The size of the font.
110
- # @return [Integer]
111
- attr_reader :sz
112
-
113
- # @see name
114
- def name=(v) Axlsx::validate_string v; @name = v end
115
- # @see charset
116
- def charset=(v) Axlsx::validate_unsigned_int v; @charset = v end
117
- # @see family
118
- def family=(v) Axlsx::validate_unsigned_int v; @family = v end
119
- # @see b
120
- def b=(v) Axlsx::validate_boolean v; @b = v end
121
- # @see i
122
- def i=(v) Axlsx::validate_boolean v; @i = v end
123
- # @see u
124
- def u=(v)
125
- v = :single if (v == true || v == 1 || v == :true || v == 'true')
126
- v = :none if (v == false || v == 0 || v == :false || v == 'false')
127
- Axlsx::validate_cell_u v
128
- @u = v
129
- end
130
- # @see strike
131
- def strike=(v) Axlsx::validate_boolean v; @strike = v end
132
- # @see outline
133
- def outline=(v) Axlsx::validate_boolean v; @outline = v end
134
- # @see shadow
135
- def shadow=(v) Axlsx::validate_boolean v; @shadow = v end
136
- # @see condense
137
- def condense=(v) Axlsx::validate_boolean v; @condense = v end
138
- # @see extend
139
- def extend=(v) Axlsx::validate_boolean v; @extend = v end
140
- # @see color
141
- def color=(v) DataTypeValidator.validate "Font.color", Color, v; @color=v end
142
- # @see sz
143
- def sz=(v) Axlsx::validate_unsigned_int v; @sz=v end
144
-
145
- # Serializes the object
146
- # @param [String] str
147
- # @return [String]
148
- def to_xml_string(str = '')
149
- str << '<font>'
150
- instance_values.each do |k, v|
151
- v.is_a?(Color) ? v.to_xml_string(str) : (str << ('<' << k.to_s << ' val="' << Axlsx.booleanize(v).to_s << '"/>'))
152
- end
153
- str << '</font>'
154
- end
155
- end
156
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+ # The Font class details a font instance for use in styling cells.
4
+ # @note The recommended way to manage fonts, and other styles is Styles#add_style
5
+ # @see Styles#add_style
6
+ class Font
7
+ include Axlsx::OptionsParser
8
+
9
+ # Creates a new Font
10
+ # @option options [String] name
11
+ # @option options [Integer] charset
12
+ # @option options [Integer] family
13
+ # @option options [Integer] family
14
+ # @option options [Boolean] b
15
+ # @option options [Boolean] i
16
+ # @option options [Boolean] u
17
+ # @option options [Boolean] strike
18
+ # @option options [Boolean] outline
19
+ # @option options [Boolean] shadow
20
+ # @option options [Boolean] condense
21
+ # @option options [Boolean] extend
22
+ # @option options [Color] color
23
+ # @option options [Integer] sz
24
+ def initialize(options={})
25
+ parse_options options
26
+ end
27
+
28
+ # The name of the font
29
+ # @return [String]
30
+ attr_reader :name
31
+
32
+ # The charset of the font
33
+ # @return [Integer]
34
+ # @note
35
+ # The following values are defined in the OOXML specification and are OS dependant values
36
+ # 0 ANSI_CHARSET
37
+ # 1 DEFAULT_CHARSET
38
+ # 2 SYMBOL_CHARSET
39
+ # 77 MAC_CHARSET
40
+ # 128 SHIFTJIS_CHARSET
41
+ # 129 HANGUL_CHARSET
42
+ # 130 JOHAB_CHARSET
43
+ # 134 GB2312_CHARSET
44
+ # 136 CHINESEBIG5_CHARSET
45
+ # 161 GREEK_CHARSET
46
+ # 162 TURKISH_CHARSET
47
+ # 163 VIETNAMESE_CHARSET
48
+ # 177 HEBREW_CHARSET
49
+ # 178 ARABIC_CHARSET
50
+ # 186 BALTIC_CHARSET
51
+ # 204 RUSSIAN_CHARSET
52
+ # 222 THAI_CHARSET
53
+ # 238 EASTEUROPE_CHARSET
54
+ # 255 OEM_CHARSET
55
+ attr_reader :charset
56
+
57
+ # The font's family
58
+ # @note
59
+ # The following are defined OOXML specification
60
+ # 0 Not applicable.
61
+ # 1 Roman
62
+ # 2 Swiss
63
+ # 3 Modern
64
+ # 4 Script
65
+ # 5 Decorative
66
+ # 6..14 Reserved for future use
67
+ # @return [Integer]
68
+ attr_reader :family
69
+
70
+ # Indicates if the font should be rendered in *bold*
71
+ # @return [Boolean]
72
+ attr_reader :b
73
+
74
+ # Indicates if the font should be rendered italicized
75
+ # @return [Boolean]
76
+ attr_reader :i
77
+
78
+ # Indicates if the font should be rendered underlined
79
+ # It must be one of :none, :single, :double, :singleAccounting, :doubleAccounting, true, false
80
+ # @return [String]
81
+ # @note
82
+ # true or false is for backwards compatibility and is reassigned to :single or :none respectively
83
+ attr_reader :u
84
+
85
+ # Indicates if the font should be rendered with a strikthrough
86
+ # @return [Boolean]
87
+ attr_reader :strike
88
+
89
+ # Indicates if the font should be rendered with an outline
90
+ # @return [Boolean]
91
+ attr_reader :outline
92
+
93
+ # Indicates if the font should be rendered with a shadow
94
+ # @return [Boolean]
95
+ attr_reader :shadow
96
+
97
+ # Indicates if the font should be condensed
98
+ # @return [Boolean]
99
+ attr_reader :condense
100
+
101
+ # The font's extend property
102
+ # @return [Boolean]
103
+ attr_reader :extend
104
+
105
+ # The color of the font
106
+ # @return [Color]
107
+ attr_reader :color
108
+
109
+ # The size of the font.
110
+ # @return [Integer]
111
+ attr_reader :sz
112
+
113
+ # @see name
114
+ def name=(v) Axlsx::validate_string v; @name = v end
115
+ # @see charset
116
+ def charset=(v) Axlsx::validate_unsigned_int v; @charset = v end
117
+ # @see family
118
+ def family=(v) Axlsx::validate_unsigned_int v; @family = v end
119
+ # @see b
120
+ def b=(v) Axlsx::validate_boolean v; @b = v end
121
+ # @see i
122
+ def i=(v) Axlsx::validate_boolean v; @i = v end
123
+ # @see u
124
+ def u=(v)
125
+ v = :single if (v == true || v == 1 || v == :true || v == 'true')
126
+ v = :none if (v == false || v == 0 || v == :false || v == 'false')
127
+ Axlsx::validate_cell_u v
128
+ @u = v
129
+ end
130
+ # @see strike
131
+ def strike=(v) Axlsx::validate_boolean v; @strike = v end
132
+ # @see outline
133
+ def outline=(v) Axlsx::validate_boolean v; @outline = v end
134
+ # @see shadow
135
+ def shadow=(v) Axlsx::validate_boolean v; @shadow = v end
136
+ # @see condense
137
+ def condense=(v) Axlsx::validate_boolean v; @condense = v end
138
+ # @see extend
139
+ def extend=(v) Axlsx::validate_boolean v; @extend = v end
140
+ # @see color
141
+ def color=(v) DataTypeValidator.validate "Font.color", Color, v; @color=v end
142
+ # @see sz
143
+ def sz=(v) Axlsx::validate_unsigned_int v; @sz=v end
144
+
145
+ # Serializes the object
146
+ # @param [String] str
147
+ # @return [String]
148
+ def to_xml_string(str = '')
149
+ str << '<font>'
150
+ Axlsx.instance_values_for(self).each do |k, v|
151
+ v.is_a?(Color) ? v.to_xml_string(str) : (str << ('<' << k.to_s << ' val="' << Axlsx.booleanize(v).to_s << '"/>'))
152
+ end
153
+ str << '</font>'
154
+ end
155
+ end
156
+ end