caxlsx 3.2.0 → 3.4.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 (301) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/.yardopts_guide +18 -18
  4. data/CHANGELOG.md +394 -354
  5. data/LICENSE +21 -21
  6. data/README.md +184 -168
  7. data/Rakefile +28 -29
  8. data/examples/generate.rb +15 -15
  9. data/lib/axlsx/content_type/abstract_content_type.rb +29 -32
  10. data/lib/axlsx/content_type/content_type.rb +22 -26
  11. data/lib/axlsx/content_type/default.rb +21 -25
  12. data/lib/axlsx/content_type/override.rb +21 -25
  13. data/lib/axlsx/doc_props/app.rb +230 -235
  14. data/lib/axlsx/doc_props/core.rb +34 -39
  15. data/lib/axlsx/drawing/area_chart.rb +96 -99
  16. data/lib/axlsx/drawing/area_series.rb +107 -110
  17. data/lib/axlsx/drawing/ax_data_source.rb +21 -26
  18. data/lib/axlsx/drawing/axes.rb +60 -61
  19. data/lib/axlsx/drawing/axis.rb +185 -190
  20. data/lib/axlsx/drawing/bar_3D_chart.rb +145 -148
  21. data/lib/axlsx/drawing/bar_chart.rb +135 -138
  22. data/lib/axlsx/drawing/bar_series.rb +91 -97
  23. data/lib/axlsx/drawing/bubble_chart.rb +56 -59
  24. data/lib/axlsx/drawing/bubble_series.rb +60 -63
  25. data/lib/axlsx/drawing/cat_axis.rb +80 -85
  26. data/lib/axlsx/drawing/chart.rb +294 -276
  27. data/lib/axlsx/drawing/d_lbls.rb +92 -90
  28. data/lib/axlsx/drawing/drawing.rb +163 -167
  29. data/lib/axlsx/drawing/graphic_frame.rb +51 -54
  30. data/lib/axlsx/drawing/hyperlink.rb +97 -100
  31. data/lib/axlsx/drawing/line_3D_chart.rb +64 -68
  32. data/lib/axlsx/drawing/line_chart.rb +96 -99
  33. data/lib/axlsx/drawing/line_series.rb +107 -110
  34. data/lib/axlsx/drawing/marker.rb +80 -84
  35. data/lib/axlsx/drawing/num_data.rb +47 -52
  36. data/lib/axlsx/drawing/num_data_source.rb +58 -62
  37. data/lib/axlsx/drawing/num_val.rb +31 -34
  38. data/lib/axlsx/drawing/one_cell_anchor.rb +97 -99
  39. data/lib/axlsx/drawing/pic.rb +244 -211
  40. data/lib/axlsx/drawing/picture_locking.rb +39 -42
  41. data/lib/axlsx/drawing/pie_3D_chart.rb +42 -47
  42. data/lib/axlsx/drawing/pie_series.rb +69 -74
  43. data/lib/axlsx/drawing/scaling.rb +57 -60
  44. data/lib/axlsx/drawing/scatter_chart.rb +71 -74
  45. data/lib/axlsx/drawing/scatter_series.rb +126 -129
  46. data/lib/axlsx/drawing/ser_axis.rb +41 -45
  47. data/lib/axlsx/drawing/series.rb +67 -69
  48. data/lib/axlsx/drawing/series_title.rb +23 -25
  49. data/lib/axlsx/drawing/str_data.rb +37 -42
  50. data/lib/axlsx/drawing/str_val.rb +31 -34
  51. data/lib/axlsx/drawing/title.rb +104 -97
  52. data/lib/axlsx/drawing/two_cell_anchor.rb +95 -97
  53. data/lib/axlsx/drawing/val_axis.rb +34 -37
  54. data/lib/axlsx/drawing/view_3D.rb +115 -115
  55. data/lib/axlsx/drawing/vml_drawing.rb +39 -42
  56. data/lib/axlsx/drawing/vml_shape.rb +63 -66
  57. data/lib/axlsx/package.rb +397 -388
  58. data/lib/axlsx/rels/relationship.rb +127 -130
  59. data/lib/axlsx/rels/relationships.rb +29 -32
  60. data/lib/axlsx/stylesheet/border.rb +70 -73
  61. data/lib/axlsx/stylesheet/border_pr.rb +69 -71
  62. data/lib/axlsx/stylesheet/cell_alignment.rb +124 -132
  63. data/lib/axlsx/stylesheet/cell_protection.rb +38 -41
  64. data/lib/axlsx/stylesheet/cell_style.rb +68 -72
  65. data/lib/axlsx/stylesheet/color.rb +77 -76
  66. data/lib/axlsx/stylesheet/dxf.rb +75 -79
  67. data/lib/axlsx/stylesheet/fill.rb +31 -35
  68. data/lib/axlsx/stylesheet/font.rb +157 -156
  69. data/lib/axlsx/stylesheet/gradient_fill.rb +101 -103
  70. data/lib/axlsx/stylesheet/gradient_stop.rb +36 -37
  71. data/lib/axlsx/stylesheet/num_fmt.rb +83 -86
  72. data/lib/axlsx/stylesheet/pattern_fill.rb +71 -73
  73. data/lib/axlsx/stylesheet/styles.rb +543 -494
  74. data/lib/axlsx/stylesheet/table_style.rb +51 -54
  75. data/lib/axlsx/stylesheet/table_style_element.rb +74 -77
  76. data/lib/axlsx/stylesheet/table_styles.rb +42 -46
  77. data/lib/axlsx/stylesheet/xf.rb +144 -147
  78. data/lib/axlsx/util/accessors.rb +62 -64
  79. data/lib/axlsx/util/constants.rb +414 -410
  80. data/lib/axlsx/util/mime_type_utils.rb +24 -11
  81. data/lib/axlsx/util/options_parser.rb +15 -16
  82. data/lib/axlsx/util/serialized_attributes.rb +88 -89
  83. data/lib/axlsx/util/simple_typed_list.rb +180 -179
  84. data/lib/axlsx/util/storage.rb +142 -146
  85. data/lib/axlsx/util/validators.rb +315 -312
  86. data/lib/axlsx/util/zip_command.rb +71 -73
  87. data/lib/axlsx/version.rb +4 -5
  88. data/lib/axlsx/workbook/defined_name.rb +129 -128
  89. data/lib/axlsx/workbook/defined_names.rb +20 -21
  90. data/lib/axlsx/workbook/shared_strings_table.rb +74 -77
  91. data/lib/axlsx/workbook/workbook.rb +430 -395
  92. data/lib/axlsx/workbook/workbook_view.rb +75 -80
  93. data/lib/axlsx/workbook/workbook_views.rb +20 -22
  94. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +78 -77
  95. data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
  96. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +243 -244
  97. data/lib/axlsx/workbook/worksheet/border_creator.rb +79 -0
  98. data/lib/axlsx/workbook/worksheet/break.rb +32 -35
  99. data/lib/axlsx/workbook/worksheet/cell.rb +552 -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 +16 -18
  103. data/lib/axlsx/workbook/worksheet/col.rb +142 -145
  104. data/lib/axlsx/workbook/worksheet/col_breaks.rb +34 -35
  105. data/lib/axlsx/workbook/worksheet/color_scale.rb +108 -110
  106. data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
  107. data/lib/axlsx/workbook/worksheet/comment.rb +90 -91
  108. data/lib/axlsx/workbook/worksheet/comments.rb +78 -82
  109. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +81 -82
  110. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +216 -220
  111. data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +23 -25
  112. data/lib/axlsx/workbook/worksheet/data_bar.rb +127 -129
  113. data/lib/axlsx/workbook/worksheet/data_validation.rb +266 -246
  114. data/lib/axlsx/workbook/worksheet/data_validations.rb +25 -28
  115. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +28 -30
  116. data/lib/axlsx/workbook/worksheet/dimension.rb +65 -64
  117. data/lib/axlsx/workbook/worksheet/header_footer.rb +51 -52
  118. data/lib/axlsx/workbook/worksheet/icon_set.rb +80 -81
  119. data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
  120. data/lib/axlsx/workbook/worksheet/outline_pr.rb +32 -33
  121. data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
  122. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +42 -44
  123. data/lib/axlsx/workbook/worksheet/page_setup.rb +237 -240
  124. data/lib/axlsx/workbook/worksheet/pane.rb +138 -139
  125. data/lib/axlsx/workbook/worksheet/pivot_table.rb +332 -296
  126. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +63 -66
  127. data/lib/axlsx/workbook/worksheet/pivot_tables.rb +23 -24
  128. data/lib/axlsx/workbook/worksheet/print_options.rb +38 -39
  129. data/lib/axlsx/workbook/worksheet/protected_range.rb +46 -47
  130. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
  131. data/lib/axlsx/workbook/worksheet/rich_text.rb +53 -55
  132. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +266 -250
  133. data/lib/axlsx/workbook/worksheet/row.rb +173 -164
  134. data/lib/axlsx/workbook/worksheet/row_breaks.rb +32 -33
  135. data/lib/axlsx/workbook/worksheet/selection.rb +99 -101
  136. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +28 -29
  137. data/lib/axlsx/workbook/worksheet/sheet_data.rb +25 -27
  138. data/lib/axlsx/workbook/worksheet/sheet_format_pr.rb +18 -18
  139. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
  140. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +117 -118
  141. data/lib/axlsx/workbook/worksheet/sheet_view.rb +206 -213
  142. data/lib/axlsx/workbook/worksheet/table.rb +100 -102
  143. data/lib/axlsx/workbook/worksheet/table_style_info.rb +48 -49
  144. data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
  145. data/lib/axlsx/workbook/worksheet/worksheet.rb +857 -786
  146. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
  147. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +59 -58
  148. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +73 -74
  149. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
  150. data/lib/axlsx.rb +218 -185
  151. data/lib/caxlsx.rb +1 -2
  152. data/lib/schema/dc.xsd +118 -118
  153. data/lib/schema/dcmitype.xsd +51 -51
  154. data/lib/schema/dcterms.xsd +331 -331
  155. data/lib/schema/dml-chartDrawing.xsd +146 -146
  156. data/lib/schema/dml-compatibility.xsd +14 -14
  157. data/lib/schema/dml-lockedCanvas.xsd +11 -11
  158. data/lib/schema/dml-main.xsd +3048 -3048
  159. data/lib/schema/dml-picture.xsd +23 -23
  160. data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
  161. data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
  162. data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
  163. data/lib/schema/shared-bibliography.xsd +144 -144
  164. data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
  165. data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
  166. data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
  167. data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
  168. data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
  169. data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
  170. data/lib/schema/shared-relationshipReference.xsd +25 -25
  171. data/lib/schema/vml-main.xsd +569 -569
  172. data/lib/schema/vml-officeDrawing.xsd +509 -509
  173. data/lib/schema/vml-presentationDrawing.xsd +12 -12
  174. data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
  175. data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
  176. data/lib/schema/xml.xsd +116 -116
  177. metadata +5 -252
  178. data/test/benchmark.rb +0 -72
  179. data/test/content_type/tc_content_type.rb +0 -76
  180. data/test/content_type/tc_default.rb +0 -16
  181. data/test/content_type/tc_override.rb +0 -14
  182. data/test/doc_props/tc_app.rb +0 -43
  183. data/test/doc_props/tc_core.rb +0 -42
  184. data/test/drawing/tc_area_chart.rb +0 -39
  185. data/test/drawing/tc_area_series.rb +0 -71
  186. data/test/drawing/tc_axes.rb +0 -8
  187. data/test/drawing/tc_axis.rb +0 -112
  188. data/test/drawing/tc_bar_3D_chart.rb +0 -86
  189. data/test/drawing/tc_bar_chart.rb +0 -86
  190. data/test/drawing/tc_bar_series.rb +0 -46
  191. data/test/drawing/tc_bubble_chart.rb +0 -44
  192. data/test/drawing/tc_bubble_series.rb +0 -21
  193. data/test/drawing/tc_cat_axis.rb +0 -31
  194. data/test/drawing/tc_cat_axis_data.rb +0 -27
  195. data/test/drawing/tc_chart.rb +0 -123
  196. data/test/drawing/tc_d_lbls.rb +0 -57
  197. data/test/drawing/tc_data_source.rb +0 -23
  198. data/test/drawing/tc_drawing.rb +0 -80
  199. data/test/drawing/tc_graphic_frame.rb +0 -27
  200. data/test/drawing/tc_hyperlink.rb +0 -64
  201. data/test/drawing/tc_line_3d_chart.rb +0 -47
  202. data/test/drawing/tc_line_chart.rb +0 -39
  203. data/test/drawing/tc_line_series.rb +0 -71
  204. data/test/drawing/tc_marker.rb +0 -44
  205. data/test/drawing/tc_named_axis_data.rb +0 -27
  206. data/test/drawing/tc_num_data.rb +0 -31
  207. data/test/drawing/tc_num_val.rb +0 -29
  208. data/test/drawing/tc_one_cell_anchor.rb +0 -66
  209. data/test/drawing/tc_pic.rb +0 -103
  210. data/test/drawing/tc_picture_locking.rb +0 -72
  211. data/test/drawing/tc_pie_3D_chart.rb +0 -28
  212. data/test/drawing/tc_pie_series.rb +0 -33
  213. data/test/drawing/tc_scaling.rb +0 -36
  214. data/test/drawing/tc_scatter_chart.rb +0 -48
  215. data/test/drawing/tc_scatter_series.rb +0 -74
  216. data/test/drawing/tc_ser_axis.rb +0 -31
  217. data/test/drawing/tc_series.rb +0 -23
  218. data/test/drawing/tc_series_title.rb +0 -54
  219. data/test/drawing/tc_str_data.rb +0 -18
  220. data/test/drawing/tc_str_val.rb +0 -30
  221. data/test/drawing/tc_title.rb +0 -70
  222. data/test/drawing/tc_two_cell_anchor.rb +0 -36
  223. data/test/drawing/tc_val_axis.rb +0 -24
  224. data/test/drawing/tc_view_3D.rb +0 -54
  225. data/test/drawing/tc_vml_drawing.rb +0 -25
  226. data/test/drawing/tc_vml_shape.rb +0 -106
  227. data/test/fixtures/image1.gif +0 -0
  228. data/test/fixtures/image1.jpeg +0 -0
  229. data/test/fixtures/image1.jpg +0 -0
  230. data/test/fixtures/image1.png +0 -0
  231. data/test/fixtures/image1_fake.jpg +0 -0
  232. data/test/profile.rb +0 -24
  233. data/test/rels/tc_relationship.rb +0 -52
  234. data/test/rels/tc_relationships.rb +0 -37
  235. data/test/stylesheet/tc_border.rb +0 -37
  236. data/test/stylesheet/tc_border_pr.rb +0 -32
  237. data/test/stylesheet/tc_cell_alignment.rb +0 -81
  238. data/test/stylesheet/tc_cell_protection.rb +0 -29
  239. data/test/stylesheet/tc_cell_style.rb +0 -57
  240. data/test/stylesheet/tc_color.rb +0 -43
  241. data/test/stylesheet/tc_dxf.rb +0 -81
  242. data/test/stylesheet/tc_fill.rb +0 -18
  243. data/test/stylesheet/tc_font.rb +0 -133
  244. data/test/stylesheet/tc_gradient_fill.rb +0 -72
  245. data/test/stylesheet/tc_gradient_stop.rb +0 -31
  246. data/test/stylesheet/tc_num_fmt.rb +0 -30
  247. data/test/stylesheet/tc_pattern_fill.rb +0 -43
  248. data/test/stylesheet/tc_styles.rb +0 -309
  249. data/test/stylesheet/tc_table_style.rb +0 -44
  250. data/test/stylesheet/tc_table_style_element.rb +0 -45
  251. data/test/stylesheet/tc_table_styles.rb +0 -29
  252. data/test/stylesheet/tc_xf.rb +0 -120
  253. data/test/tc_axlsx.rb +0 -109
  254. data/test/tc_helper.rb +0 -10
  255. data/test/tc_package.rb +0 -317
  256. data/test/util/tc_mime_type_utils.rb +0 -13
  257. data/test/util/tc_serialized_attributes.rb +0 -19
  258. data/test/util/tc_simple_typed_list.rb +0 -77
  259. data/test/util/tc_validators.rb +0 -210
  260. data/test/workbook/tc_defined_name.rb +0 -49
  261. data/test/workbook/tc_shared_strings_table.rb +0 -59
  262. data/test/workbook/tc_workbook.rb +0 -165
  263. data/test/workbook/tc_workbook_view.rb +0 -50
  264. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +0 -38
  265. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +0 -76
  266. data/test/workbook/worksheet/auto_filter/tc_filters.rb +0 -50
  267. data/test/workbook/worksheet/tc_break.rb +0 -49
  268. data/test/workbook/worksheet/tc_cell.rb +0 -465
  269. data/test/workbook/worksheet/tc_cfvo.rb +0 -31
  270. data/test/workbook/worksheet/tc_col.rb +0 -93
  271. data/test/workbook/worksheet/tc_color_scale.rb +0 -58
  272. data/test/workbook/worksheet/tc_comment.rb +0 -72
  273. data/test/workbook/worksheet/tc_comments.rb +0 -57
  274. data/test/workbook/worksheet/tc_conditional_formatting.rb +0 -224
  275. data/test/workbook/worksheet/tc_data_bar.rb +0 -46
  276. data/test/workbook/worksheet/tc_data_validation.rb +0 -265
  277. data/test/workbook/worksheet/tc_date_time_converter.rb +0 -124
  278. data/test/workbook/worksheet/tc_header_footer.rb +0 -151
  279. data/test/workbook/worksheet/tc_icon_set.rb +0 -45
  280. data/test/workbook/worksheet/tc_outline_pr.rb +0 -19
  281. data/test/workbook/worksheet/tc_page_margins.rb +0 -97
  282. data/test/workbook/worksheet/tc_page_set_up_pr.rb +0 -15
  283. data/test/workbook/worksheet/tc_page_setup.rb +0 -143
  284. data/test/workbook/worksheet/tc_pane.rb +0 -54
  285. data/test/workbook/worksheet/tc_pivot_table.rb +0 -180
  286. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +0 -62
  287. data/test/workbook/worksheet/tc_print_options.rb +0 -72
  288. data/test/workbook/worksheet/tc_protected_range.rb +0 -17
  289. data/test/workbook/worksheet/tc_rich_text.rb +0 -44
  290. data/test/workbook/worksheet/tc_rich_text_run.rb +0 -173
  291. data/test/workbook/worksheet/tc_row.rb +0 -160
  292. data/test/workbook/worksheet/tc_selection.rb +0 -55
  293. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +0 -18
  294. data/test/workbook/worksheet/tc_sheet_format_pr.rb +0 -88
  295. data/test/workbook/worksheet/tc_sheet_pr.rb +0 -49
  296. data/test/workbook/worksheet/tc_sheet_protection.rb +0 -117
  297. data/test/workbook/worksheet/tc_sheet_view.rb +0 -214
  298. data/test/workbook/worksheet/tc_table.rb +0 -77
  299. data/test/workbook/worksheet/tc_table_style_info.rb +0 -53
  300. data/test/workbook/worksheet/tc_worksheet.rb +0 -632
  301. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +0 -55
@@ -1,132 +1,124 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
-
4
-
5
- # CellAlignment stores information about the cell alignment of a style Xf Object.
6
- # @note Using Styles#add_style is the recommended way to manage cell alignment.
7
- # @see Styles#add_style
8
- class CellAlignment
9
-
10
-
11
- include Axlsx::SerializedAttributes
12
- include Axlsx::OptionsParser
13
-
14
- serializable_attributes :horizontal, :vertical, :text_rotation, :wrap_text, :indent, :relative_indent, :justify_last_line, :shrink_to_fit, :reading_order
15
- # Create a new cell_alignment object
16
- # @option options [Symbol] horizontal
17
- # @option options [Symbol] vertical
18
- # @option options [Integer] text_rotation
19
- # @option options [Boolean] wrap_text
20
- # @option options [Integer] indent
21
- # @option options [Integer] relative_indent
22
- # @option options [Boolean] justify_last_line
23
- # @option options [Boolean] shrink_to_fit
24
- # @option options [Integer] reading_order
25
- def initialize(options={})
26
- parse_options options
27
- end
28
-
29
-
30
-
31
- # The horizontal alignment of the cell.
32
- # @note
33
- # The horizontal cell alignement style must be one of
34
- # :general
35
- # :left
36
- # :center
37
- # :right
38
- # :fill
39
- # :justify
40
- # :centerContinuous
41
- # :distributed
42
- # @return [Symbol]
43
- attr_reader :horizontal
44
-
45
- # The vertical alignment of the cell.
46
- # @note
47
- # The vertical cell allingment style must be one of the following:
48
- # :top
49
- # :center
50
- # :bottom
51
- # :justify
52
- # :distributed
53
- # @return [Symbol]
54
- attr_reader :vertical
55
-
56
- # The textRotation of the cell.
57
- # @return [Integer]
58
- attr_reader :text_rotation
59
- alias :textRotation :text_rotation
60
-
61
- # Indicate if the text of the cell should wrap
62
- # @return [Boolean]
63
- attr_reader :wrap_text
64
- alias :wrapText :wrap_text
65
-
66
- # The amount of indent
67
- # @return [Integer]
68
- attr_reader :indent
69
-
70
- # The amount of relativeIndent
71
- # @return [Integer]
72
- attr_reader :relative_indent
73
- alias :relativeIndent :relative_indent
74
-
75
- # Indicate if the last line should be justified.
76
- # @return [Boolean]
77
- attr_reader :justify_last_line
78
- alias :justifyLastLine :justify_last_line
79
-
80
- # Indicate if the text should be shrunk to the fit in the cell.
81
- # @return [Boolean]
82
- attr_reader :shrink_to_fit
83
- alias :shrinkToFit :shrink_to_fit
84
-
85
- # The reading order of the text
86
- # 0 Context Dependent
87
- # 1 Left-to-Right
88
- # 2 Right-to-Left
89
- # @return [Integer]
90
- attr_reader :reading_order
91
- alias :readingOrder :reading_order
92
-
93
- # @see horizontal
94
- def horizontal=(v) Axlsx::validate_horizontal_alignment v; @horizontal = v end
95
- # @see vertical
96
- def vertical=(v) Axlsx::validate_vertical_alignment v; @vertical = v end
97
- # @see textRotation
98
- def text_rotation=(v) Axlsx::validate_unsigned_int v; @text_rotation = v end
99
- alias :textRotation= :text_rotation=
100
-
101
- # @see wrapText
102
- def wrap_text=(v) Axlsx::validate_boolean v; @wrap_text = v end
103
- alias :wrapText= :wrap_text=
104
-
105
- # @see indent
106
- def indent=(v) Axlsx::validate_unsigned_int v; @indent = v end
107
-
108
- # @see relativeIndent
109
- def relative_indent=(v) Axlsx::validate_int v; @relative_indent = v end
110
- alias :relativeIndent= :relative_indent=
111
-
112
- # @see justifyLastLine
113
- def justify_last_line=(v) Axlsx::validate_boolean v; @justify_last_line = v end
114
- alias :justifyLastLine= :justify_last_line=
115
-
116
- # @see shrinkToFit
117
- def shrink_to_fit=(v) Axlsx::validate_boolean v; @shrink_to_fit = v end
118
- alias :shrinkToFit= :shrink_to_fit=
119
-
120
- # @see readingOrder
121
- def reading_order=(v) Axlsx::validate_unsigned_int v; @reading_order = v end
122
- alias :readingOrder= :reading_order=
123
-
124
- # Serializes the object
125
- # @param [String] str
126
- # @return [String]
127
- def to_xml_string(str = '')
128
- serialized_tag('alignment', str)
129
- end
130
-
131
- end
132
- end
1
+ module Axlsx
2
+ # CellAlignment stores information about the cell alignment of a style Xf Object.
3
+ # @note Using Styles#add_style is the recommended way to manage cell alignment.
4
+ # @see Styles#add_style
5
+ class CellAlignment
6
+ include Axlsx::SerializedAttributes
7
+ include Axlsx::OptionsParser
8
+
9
+ serializable_attributes :horizontal, :vertical, :text_rotation, :wrap_text, :indent, :relative_indent, :justify_last_line, :shrink_to_fit, :reading_order
10
+ # Create a new cell_alignment object
11
+ # @option options [Symbol] horizontal
12
+ # @option options [Symbol] vertical
13
+ # @option options [Integer] text_rotation
14
+ # @option options [Boolean] wrap_text
15
+ # @option options [Integer] indent
16
+ # @option options [Integer] relative_indent
17
+ # @option options [Boolean] justify_last_line
18
+ # @option options [Boolean] shrink_to_fit
19
+ # @option options [Integer] reading_order
20
+ def initialize(options = {})
21
+ parse_options options
22
+ end
23
+
24
+ # The horizontal alignment of the cell.
25
+ # @note
26
+ # The horizontal cell alignement style must be one of
27
+ # :general
28
+ # :left
29
+ # :center
30
+ # :right
31
+ # :fill
32
+ # :justify
33
+ # :centerContinuous
34
+ # :distributed
35
+ # @return [Symbol]
36
+ attr_reader :horizontal
37
+
38
+ # The vertical alignment of the cell.
39
+ # @note
40
+ # The vertical cell allingment style must be one of the following:
41
+ # :top
42
+ # :center
43
+ # :bottom
44
+ # :justify
45
+ # :distributed
46
+ # @return [Symbol]
47
+ attr_reader :vertical
48
+
49
+ # The textRotation of the cell.
50
+ # @return [Integer]
51
+ attr_reader :text_rotation
52
+ alias :textRotation :text_rotation
53
+
54
+ # Indicate if the text of the cell should wrap
55
+ # @return [Boolean]
56
+ attr_reader :wrap_text
57
+ alias :wrapText :wrap_text
58
+
59
+ # The amount of indent
60
+ # @return [Integer]
61
+ attr_reader :indent
62
+
63
+ # The amount of relativeIndent
64
+ # @return [Integer]
65
+ attr_reader :relative_indent
66
+ alias :relativeIndent :relative_indent
67
+
68
+ # Indicate if the last line should be justified.
69
+ # @return [Boolean]
70
+ attr_reader :justify_last_line
71
+ alias :justifyLastLine :justify_last_line
72
+
73
+ # Indicate if the text should be shrunk to the fit in the cell.
74
+ # @return [Boolean]
75
+ attr_reader :shrink_to_fit
76
+ alias :shrinkToFit :shrink_to_fit
77
+
78
+ # The reading order of the text
79
+ # 0 Context Dependent
80
+ # 1 Left-to-Right
81
+ # 2 Right-to-Left
82
+ # @return [Integer]
83
+ attr_reader :reading_order
84
+ alias :readingOrder :reading_order
85
+
86
+ # @see horizontal
87
+ def horizontal=(v) Axlsx::validate_horizontal_alignment v; @horizontal = v end
88
+ # @see vertical
89
+ def vertical=(v) Axlsx::validate_vertical_alignment v; @vertical = v end
90
+ # @see textRotation
91
+ def text_rotation=(v) Axlsx::validate_unsigned_int v; @text_rotation = v end
92
+ alias :textRotation= :text_rotation=
93
+
94
+ # @see wrapText
95
+ def wrap_text=(v) Axlsx::validate_boolean v; @wrap_text = v end
96
+ alias :wrapText= :wrap_text=
97
+
98
+ # @see indent
99
+ def indent=(v) Axlsx::validate_unsigned_int v; @indent = v end
100
+
101
+ # @see relativeIndent
102
+ def relative_indent=(v) Axlsx::validate_int v; @relative_indent = v end
103
+ alias :relativeIndent= :relative_indent=
104
+
105
+ # @see justifyLastLine
106
+ def justify_last_line=(v) Axlsx::validate_boolean v; @justify_last_line = v end
107
+ alias :justifyLastLine= :justify_last_line=
108
+
109
+ # @see shrinkToFit
110
+ def shrink_to_fit=(v) Axlsx::validate_boolean v; @shrink_to_fit = v end
111
+ alias :shrinkToFit= :shrink_to_fit=
112
+
113
+ # @see readingOrder
114
+ def reading_order=(v) Axlsx::validate_unsigned_int v; @reading_order = v end
115
+ alias :readingOrder= :reading_order=
116
+
117
+ # Serializes the object
118
+ # @param [String] str
119
+ # @return [String]
120
+ def to_xml_string(str = '')
121
+ serialized_tag('alignment', str)
122
+ end
123
+ end
124
+ end
@@ -1,41 +1,38 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # CellProtection stores information about locking or hiding cells in spreadsheet.
4
- # @note Using Styles#add_style is the recommended way to manage cell protection.
5
- # @see Styles#add_style
6
- class CellProtection
7
-
8
- include Axlsx::OptionsParser
9
- include Axlsx::SerializedAttributes
10
-
11
- serializable_attributes :hidden, :locked
12
-
13
- # specifies locking for cells that have the style containing this protection
14
- # @return [Boolean]
15
- attr_reader :hidden
16
-
17
- # specifies if the cells that have the style containing this protection
18
- # @return [Boolean]
19
- attr_reader :locked
20
-
21
- # Creates a new CellProtection
22
- # @option options [Boolean] hidden value for hidden protection
23
- # @option options [Boolean] locked value for locked protection
24
- def initialize(options={})
25
- parse_options options
26
- end
27
-
28
- # @see hidden
29
- def hidden=(v) Axlsx::validate_boolean v; @hidden = v end
30
- # @see locked
31
- def locked=(v) Axlsx::validate_boolean v; @locked = v end
32
-
33
- # Serializes the object
34
- # @param [String] str
35
- # @return [String]
36
- def to_xml_string(str = '')
37
- serialized_tag('protection', str)
38
- end
39
-
40
- end
41
- end
1
+ module Axlsx
2
+ # CellProtection stores information about locking or hiding cells in spreadsheet.
3
+ # @note Using Styles#add_style is the recommended way to manage cell protection.
4
+ # @see Styles#add_style
5
+ class CellProtection
6
+ include Axlsx::OptionsParser
7
+ include Axlsx::SerializedAttributes
8
+
9
+ serializable_attributes :hidden, :locked
10
+
11
+ # specifies locking for cells that have the style containing this protection
12
+ # @return [Boolean]
13
+ attr_reader :hidden
14
+
15
+ # specifies if the cells that have the style containing this protection
16
+ # @return [Boolean]
17
+ attr_reader :locked
18
+
19
+ # Creates a new CellProtection
20
+ # @option options [Boolean] hidden value for hidden protection
21
+ # @option options [Boolean] locked value for locked protection
22
+ def initialize(options = {})
23
+ parse_options options
24
+ end
25
+
26
+ # @see hidden
27
+ def hidden=(v) Axlsx::validate_boolean v; @hidden = v end
28
+ # @see locked
29
+ def locked=(v) Axlsx::validate_boolean v; @locked = v end
30
+
31
+ # Serializes the object
32
+ # @param [String] str
33
+ # @return [String]
34
+ def to_xml_string(str = '')
35
+ serialized_tag('protection', str)
36
+ end
37
+ end
38
+ end
@@ -1,72 +1,68 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # CellStyle defines named styles that reference defined formatting records and can be used in your worksheet.
4
- # @note Using Styles#add_style is the recommended way to manage cell styling.
5
- # @see Styles#add_style
6
- class CellStyle
7
-
8
- include Axlsx::OptionsParser
9
- include Axlsx::SerializedAttributes
10
-
11
- # Creats a new CellStyle object
12
- # @option options [String] name
13
- # @option options [Integer] xfId
14
- # @option options [Integer] buildinId
15
- # @option options [Integer] iLevel
16
- # @option options [Boolean] hidden
17
- # @option options [Boolean] customBuiltIn
18
- def initialize(options={})
19
- parse_options options
20
- end
21
-
22
- serializable_attributes :name, :xfId, :buildinId, :iLevel, :hidden, :customBuilin
23
-
24
- # The name of this cell style
25
- # @return [String]
26
- attr_reader :name
27
-
28
- # The formatting record id this named style utilizes
29
- # @return [Integer]
30
- # @see Axlsx::Xf
31
- attr_reader :xfId
32
-
33
- # The buildinId to use when this named style is applied
34
- # @return [Integer]
35
- # @see Axlsx::NumFmt
36
- attr_reader :builtinId
37
-
38
- # Determines if this formatting is for an outline style, and what level of the outline it is to be applied to.
39
- # @return [Integer]
40
- attr_reader :iLevel
41
-
42
- # Determines if this named style should show in the list of styles when using excel
43
- # @return [Boolean]
44
- attr_reader :hidden
45
-
46
- # Indicates that the build in style reference has been customized.
47
- # @return [Boolean]
48
- attr_reader :customBuiltin
49
-
50
- # @see name
51
- def name=(v) Axlsx::validate_string v; @name = v end
52
- # @see xfId
53
- def xfId=(v) Axlsx::validate_unsigned_int v; @xfId = v end
54
- # @see builtinId
55
- def builtinId=(v) Axlsx::validate_unsigned_int v; @builtinId = v end
56
- # @see iLivel
57
- def iLevel=(v) Axlsx::validate_unsigned_int v; @iLevel = v end
58
- # @see hidden
59
- def hidden=(v) Axlsx::validate_boolean v; @hidden = v end
60
- # @see customBuiltin
61
- def customBuiltin=(v) Axlsx::validate_boolean v; @customBuiltin = v end
62
-
63
- # Serializes the object
64
- # @param [String] str
65
- # @return [String]
66
- def to_xml_string(str = '')
67
- serialized_tag('cellStyle', str)
68
- end
69
-
70
- end
71
-
72
- end
1
+ module Axlsx
2
+ # CellStyle defines named styles that reference defined formatting records and can be used in your worksheet.
3
+ # @note Using Styles#add_style is the recommended way to manage cell styling.
4
+ # @see Styles#add_style
5
+ class CellStyle
6
+ include Axlsx::OptionsParser
7
+ include Axlsx::SerializedAttributes
8
+
9
+ # Creats a new CellStyle object
10
+ # @option options [String] name
11
+ # @option options [Integer] xfId
12
+ # @option options [Integer] buildinId
13
+ # @option options [Integer] iLevel
14
+ # @option options [Boolean] hidden
15
+ # @option options [Boolean] customBuiltIn
16
+ def initialize(options = {})
17
+ parse_options options
18
+ end
19
+
20
+ serializable_attributes :name, :xfId, :buildinId, :iLevel, :hidden, :customBuilin
21
+
22
+ # The name of this cell style
23
+ # @return [String]
24
+ attr_reader :name
25
+
26
+ # The formatting record id this named style utilizes
27
+ # @return [Integer]
28
+ # @see Axlsx::Xf
29
+ attr_reader :xfId
30
+
31
+ # The buildinId to use when this named style is applied
32
+ # @return [Integer]
33
+ # @see Axlsx::NumFmt
34
+ attr_reader :builtinId
35
+
36
+ # Determines if this formatting is for an outline style, and what level of the outline it is to be applied to.
37
+ # @return [Integer]
38
+ attr_reader :iLevel
39
+
40
+ # Determines if this named style should show in the list of styles when using excel
41
+ # @return [Boolean]
42
+ attr_reader :hidden
43
+
44
+ # Indicates that the build in style reference has been customized.
45
+ # @return [Boolean]
46
+ attr_reader :customBuiltin
47
+
48
+ # @see name
49
+ def name=(v) Axlsx::validate_string v; @name = v end
50
+ # @see xfId
51
+ def xfId=(v) Axlsx::validate_unsigned_int v; @xfId = v end
52
+ # @see builtinId
53
+ def builtinId=(v) Axlsx::validate_unsigned_int v; @builtinId = v end
54
+ # @see iLivel
55
+ def iLevel=(v) Axlsx::validate_unsigned_int v; @iLevel = v end
56
+ # @see hidden
57
+ def hidden=(v) Axlsx::validate_boolean v; @hidden = v end
58
+ # @see customBuiltin
59
+ def customBuiltin=(v) Axlsx::validate_boolean v; @customBuiltin = v end
60
+
61
+ # Serializes the object
62
+ # @param [String] str
63
+ # @return [String]
64
+ def to_xml_string(str = '')
65
+ serialized_tag('cellStyle', str)
66
+ end
67
+ end
68
+ end
@@ -1,76 +1,77 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # The color class represents a color used for borders, fills an fonts
4
- class Color
5
-
6
- include Axlsx::OptionsParser
7
- include Axlsx::SerializedAttributes
8
-
9
- # Creates a new Color object
10
- # @option options [Boolean] auto
11
- # @option options [String] rgb
12
- # @option options [Float] tint
13
- def initialize(options={})
14
- @rgb = "FF000000"
15
- parse_options options
16
- end
17
-
18
- serializable_attributes :auto, :rgb, :tint
19
-
20
- # Determines if the color is system color dependant
21
- # @return [Boolean]
22
- attr_reader :auto
23
-
24
- # The color as defined in rgb terms.
25
- # @note
26
- # rgb colors need to conform to ST_UnsignedIntHex. That basically means put 'FF' before you color
27
- # When assigning the rgb value the behavior is much like CSS selectors and can use shorthand versions as follows:
28
- # If you provide a two character value it will be repeated for each r, g, b assignment
29
- # If you provide data that is not 2 characters in length, and is less than 8 characters it will be padded with "F"
30
- # @example
31
- # Color.new :rgb => "FF000000"
32
- # => #<Axlsx::Color:0x102106b68 @rgb="FF000000">
33
- # Color.new :rgb => "0A"
34
- # => #<Axlsx::Color:0x102106b68 @rgb="FF0A0A0A">
35
- # Color.new :rgb => "00BB"
36
- # => #<Axlsx::Color:0x102106b68 @rgb="FFFF00BB">
37
- # @return [String]
38
- attr_reader :rgb
39
-
40
- # no support for theme just yet
41
- # @return [Integer]
42
- #attr_reader :theme
43
-
44
- # The tint value.
45
- # @note valid values are between -1.0 and 1.0
46
- # @return [Float]
47
- attr_reader :tint
48
-
49
- # @see auto
50
- def auto=(v) Axlsx::validate_boolean v; @auto = v end
51
- # @see color
52
- def rgb=(v)
53
- Axlsx::validate_string(v)
54
- v = v.upcase
55
- v = v * 3 if v.size == 2
56
- v = v.rjust(8, 'FF')
57
- raise ArgumentError, "Invalid color rgb value: #{v}." unless v.match(/[0-9A-F]{8}/)
58
- @rgb = v
59
- end
60
- # @see tint
61
- def tint=(v) Axlsx::validate_float v; @tint = v end
62
-
63
- # This version does not support themes
64
- # def theme=(v) Axlsx::validate_unsigned_integer v; @theme = v end
65
-
66
- # Indexed colors are for backward compatability which I am choosing not to support
67
- # def indexed=(v) Axlsx::validate_unsigned_integer v; @indexed = v end
68
-
69
- # Serializes the object
70
- # @param [String] str
71
- # @return [String]
72
- def to_xml_string(str = '', tag_name = 'color')
73
- serialized_tag('' + tag_name + '', str)
74
- end
75
- end
76
- end
1
+ module Axlsx
2
+ # The color class represents a color used for borders, fills an fonts
3
+ class Color
4
+ include Axlsx::OptionsParser
5
+ include Axlsx::SerializedAttributes
6
+
7
+ # Creates a new Color object
8
+ # @option options [Boolean] auto
9
+ # @option options [String] rgb
10
+ # @option options [Float] tint
11
+ def initialize(options = {})
12
+ @rgb = "FF000000"
13
+ parse_options options
14
+ end
15
+
16
+ serializable_attributes :auto, :rgb, :tint
17
+
18
+ # Determines if the color is system color dependant
19
+ # @return [Boolean]
20
+ attr_reader :auto
21
+
22
+ # The color as defined in rgb terms.
23
+ # @note
24
+ # rgb colors need to conform to ST_UnsignedIntHex. That basically means put 'FF' before you color
25
+ # When assigning the rgb value the behavior is much like CSS selectors and can use shorthand versions as follows:
26
+ # If you provide a two character value it will be repeated for each r, g, b assignment
27
+ # If you provide data that is not 2 characters in length, and is less than 8 characters it will be padded with "F"
28
+ # @example
29
+ # Color.new :rgb => "FF000000"
30
+ # => #<Axlsx::Color:0x102106b68 @rgb="FF000000">
31
+ # Color.new :rgb => "0A"
32
+ # => #<Axlsx::Color:0x102106b68 @rgb="FF0A0A0A">
33
+ # Color.new :rgb => "00BB"
34
+ # => #<Axlsx::Color:0x102106b68 @rgb="FFFF00BB">
35
+ # @return [String]
36
+ attr_reader :rgb
37
+
38
+ # no support for theme just yet
39
+ # @return [Integer]
40
+ # attr_reader :theme
41
+
42
+ # The tint value.
43
+ # @note valid values are between -1.0 and 1.0
44
+ # @return [Float]
45
+ attr_reader :tint
46
+
47
+ # @see auto
48
+ def auto=(v) Axlsx::validate_boolean v; @auto = v end
49
+
50
+ # @see color
51
+ def rgb=(v)
52
+ Axlsx::validate_string(v)
53
+ v = v.upcase
54
+ v = v * 3 if v.size == 2
55
+ v = v.rjust(8, 'FF')
56
+ raise ArgumentError, "Invalid color rgb value: #{v}." unless v.match(/[0-9A-F]{8}/)
57
+
58
+ @rgb = v
59
+ end
60
+
61
+ # @see tint
62
+ def tint=(v) Axlsx::validate_float v; @tint = v end
63
+
64
+ # This version does not support themes
65
+ # def theme=(v) Axlsx::validate_unsigned_integer v; @theme = v end
66
+
67
+ # Indexed colors are for backward compatability which I am choosing not to support
68
+ # def indexed=(v) Axlsx::validate_unsigned_integer v; @indexed = v end
69
+
70
+ # Serializes the object
71
+ # @param [String] str
72
+ # @return [String]
73
+ def to_xml_string(str = '', tag_name = 'color')
74
+ serialized_tag('' + tag_name + '', str)
75
+ end
76
+ end
77
+ end