caxlsx 3.1.1 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
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 -343
  5. data/LICENSE +21 -21
  6. data/README.md +168 -172
  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 +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 -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 -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 -294
  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 -164
  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 -768
  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 -171
  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 -86
  186. data/test/drawing/tc_bar_chart.rb +86 -86
  187. data/test/drawing/tc_bar_series.rb +46 -46
  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 -10
  247. data/test/tc_package.rb +317 -314
  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 -143
  278. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +62 -62
  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 -160
  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 -77
  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 +101 -101
data/LICENSE CHANGED
@@ -1,22 +1,22 @@
1
- Copyright (c) 2011, 2012 Randy Morgan
2
-
3
- Permission is hereby granted, free of charge, to any person
4
- obtaining a copy of this software and associated documentation
5
- files (the "Software"), to deal in the Software without
6
- restriction, including without limitation the rights to use,
7
- copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the
9
- Software is furnished to do so, subject to the following
10
- conditions:
11
-
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1
+ Copyright (c) 2011, 2012 Randy Morgan
2
+
3
+ Permission is hereby granted, free of charge, to any person
4
+ obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use,
7
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the
9
+ Software is furnished to do so, subject to the following
10
+ conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
22
  OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,172 +1,168 @@
1
- # Caxlsx (Community Continued Version)
2
- [![Build Status](https://travis-ci.com/caxlsx/caxlsx.svg?branch=master)](https://travis-ci.com/caxlsx/caxlsx)
3
- [![Gem
4
- Version](https://badge.fury.io/rb/caxlsx.svg)](http://badge.fury.io/rb/caxlsx)
5
- ![Total downloads](http://ruby-gem-downloads-badge.herokuapp.com/caxlsx?type=total)
6
- ![Downloads for 3.1.1 (latest)](http://ruby-gem-downloads-badge.herokuapp.com/caxlsx/3.1.1?label=downloads%203.1.1)
7
-
8
- ## Notice: Community Axlsx Organization
9
-
10
- To better maintain the Axlsx ecosystem, all related gems have been forked or moved to the following community organization:
11
-
12
- http://github.com/caxlsx
13
-
14
- [Join the Caxlsx Slack channel](https://join.slack.com/t/caxlsx/shared_invite/enQtOTI5OTM0MzI1Njk5LTBlMDQzNDk2YzkwODMxMmVkODMyYzJiZGU5NTQ3YTg5NTBlN2IwZTlmNTRjNzhiY2E0MDY2OTEyYmFlODI5NjA)
15
-
16
- ## Synopsis
17
-
18
- Axlsx is an Office Open XML Spreadsheet generator for the Ruby programming language.
19
- With Axlsx you can create excel worksheets with charts, images (with links), automated and fixed column widths, customized styles, functions, tables, conditional formatting, print options, comments, merged cells, auto filters, file and stream serialization as well as full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents without having to understand the entire ECMA specification.
20
-
21
- ![Screen 1](https://github.com/caxlsx/caxlsx/raw/master/examples/sample.png)
22
-
23
-
24
- ## Feature List
25
-
26
- 1. Author xlsx documents: Caxlsx is made to let you easily and quickly generate professional xlsx based reports that can be validated before serialization.
27
-
28
- 2. Generate 3D Pie, Line, Scatter and Bar Charts: With Caxlsx chart generation and management is as easy as a few lines of code. You can build charts based off data in your worksheet or generate charts without any data in your sheet at all. Customize gridlines, label rotation and series colors as well.
29
-
30
- 3. Custom Styles: With guaranteed document validity, you can style borders, alignment, fills, fonts, and number formats in a single line of code. Those styles can be applied to an entire row, or a single cell anywhere in your workbook.
31
-
32
- 4. Automatic type support: Caxlsx will automatically determine the type of data you are generating. In this release Float, Integer, String, Date, Time and Boolean types are automatically identified and serialized to your spreadsheet.
33
-
34
- 5. Automatic and fixed column widths: Caxlsx will automatically determine the appropriate width for your columns based on the content in the worksheet, or use any value you specify for the really funky stuff.
35
-
36
- 6. Support for automatically formatted 1904 and 1900 epochs configurable in the workbook.
37
-
38
- 7. Add jpg, gif and png images to worksheets with hyperlinks
39
-
40
- 8. Reference cells in your worksheet with "A1" and "A1:D4" style references or from the workbook using "Sheet1!A3:B4" style references
41
-
42
- 9. Cell level style overrides for default and customized style objects
43
-
44
- 10. Support for formulas, merging, row and column outlining as well as
45
- cell level input data validation.
46
-
47
- 12. Auto filtering tables with worksheet.auto_filter as well as support for Tables
48
-
49
- 13. Export using shared strings or inline strings so we can inter-op with iWork Numbers (sans charts for now).
50
-
51
- 14. Output to file or StringIO
52
-
53
- 15. Support for page margins and print options
54
-
55
- 16. Support for password and non password based sheet protection.
56
-
57
- 17. First stage interoperability support for GoogleDocs, LibreOffice,
58
- and Numbers
59
-
60
- 18. Support for defined names, which gives you repeated header rows for printing.
61
-
62
- 19. Data labels for charts as well as series color customization.
63
-
64
- 20. Support for sheet headers and footers
65
-
66
- 21. Pivot Tables
67
-
68
- 22. Page Breaks
69
-
70
-
71
- ## Install
72
-
73
- ```ruby
74
- gem 'caxlsx'
75
- ```
76
-
77
- ## Usage
78
-
79
- Here's a teaser that kicks about 2% of what the gem can do.
80
-
81
- ```ruby
82
- Axlsx::Package.new do |p|
83
- p.workbook.add_worksheet(:name => "Pie Chart") do |sheet|
84
- sheet.add_row ["Simple Pie Chart"]
85
- %w(first second third).each { |label| sheet.add_row [label, rand(24)+1] }
86
- sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,5], :end_at => [10, 20], :title => "example 3: Pie Chart") do |chart|
87
- chart.add_series :data => sheet["B2:B4"], :labels => sheet["A2:A4"], :colors => ['FF0000', '00FF00', '0000FF']
88
- end
89
- end
90
- p.serialize('simple.xlsx')
91
- end
92
- ```
93
-
94
- Please see the [examples folder](https://github.com/caxlsx/caxlsx/tree/master/examples) for further information on what you can do with this gem Chances are that it has already been implemented. If it hasn't, let's take a look at adding it in.
95
-
96
- ## Documentation
97
-
98
- Detailed documentation is available at:
99
-
100
- [https://www.rubydoc.info/gems/caxlsx/](https://www.rubydoc.info/gems/caxlsx/)
101
-
102
- Additional documentation is listed below:
103
-
104
- - [Examples](https://github.com/caxlsx/caxlsx/tree/master/examples)
105
- - [FAQ](https://github.com/caxlsx/caxlsx/wiki/FAQ) (work in progress)
106
- - [Style Reference](https://github.com/caxlsx/caxlsx/blob/master/docs/style_reference.md)
107
- - [Header and Footer Codes](https://github.com/caxlsx/caxlsx/blob/master/docs/header_and_footer_codes.md)
108
-
109
- ⚠ Please __do not create issues__ for questions regarding the usage of axlsx / caxlsx. Look through this README, the [examples](https://github.com/caxlsx/caxlsx/tree/master/examples/example.rb), and the [FAQ](https://github.com/caxlsx/caxlsx/wiki/FAQ), and also check [questions tagged `axlsx` on Stack Overflow](https://stackoverflow.com/questions/tagged/axlsx).
110
-
111
- Feel free to add your question (including an answer!) to the FAQ if you think it is of general interest.
112
-
113
- ## Plugins, Integrations, and Extensions
114
-
115
- Currently the following additional gems are available:
116
-
117
- - [acts_as_caxlsx](https://github.com/caxlsx/acts_as_caxlsx)
118
- * Provides simple ActiveRecord integration
119
- - [caxlsx_rails](https://github.com/caxlsx/caxlsx_rails)
120
- * Provides a `.axlsx` renderer to Rails so you can move all your spreadsheet code from your controller into view files.
121
- - [activeadmin-caxlsx](https://github.com/caxlsx/activeadmin-caxlsx)
122
- * An Active Admin plugin that includes DSL to create downloadable reports.
123
- - [axlsx_styler](https://github.com/axlsx-styler-gem/axlsx_styler)
124
- * Allows you to build clean and maintainable styles for your axlsx spreadsheets. Build your spreadsheeet with data and then apply styles later.
125
-
126
- ## Known Software Interoperability Issues
127
-
128
- As axslx implements the Office Open XML (ECMA-376 spec) much of the
129
- functionality is interoperable with other spreadsheet software. Below is
130
- a listing of some known issues.
131
-
132
- 1. Libre Office
133
- - You must specify colors for your series. see examples/chart_colors.rb
134
- for an example.
135
- - You must use data in your sheet for charts. You cannot use hard coded
136
- values.
137
- - Chart axis and gridlines do not render. I have a feeling this is
138
- related to themes, which axlsx does not implement at this time.
139
-
140
- 2. Google Docs
141
- - Images are known to not work with google docs
142
- - border colors do not work
143
-
144
- 3. Apple Numbers
145
- - charts do not render
146
- - you must set 'use_shared_strings' to true. This is most conveniently done just before rendering by calling Package.use_shared_strings = true prior to serialization.
147
-
148
- ```ruby
149
- p = Axlsx::Package.new
150
- p.workbook.add_worksheet(:name => "Basic Worksheet") do |sheet|
151
- sheet.add_row ["First Column", "Second", "Third"]
152
- sheet.add_row [1, 2, 3]
153
- end
154
- p.use_shared_strings = true
155
- p.serialize('simple.xlsx')
156
- ```
157
-
158
- ## Known Bugs
159
-
160
- There’s a [list of known bugs](https://github.com/caxlsx/caxlsx/issues?q=label%3A%22known+bug%22). (If you want to contribute to caxlsx, this is a good place to start!)
161
-
162
- ## Contributing
163
-
164
- See [CONTRIBUTING.md](https://github.com/caxlsx/caxlsx/blob/master/CONTRIBUTING.md)
165
-
166
- ## Credits
167
-
168
- Originally created by Randy Morgan - @randym
169
-
170
- Forked in 2019, to enable the community to maintain the Axlsx ecosystem - http://github.com/caxlsx
171
-
172
- Open source software is a community effort. None of this could have been done without the help of [our Contributors](https://github.com/caxlsx/caxlsx/graphs/contributors).
1
+ # Caxlsx (Community Continued Version)
2
+ [![Build Status](https://github.com/caxlsx/caxlsx/workflows/Test/badge.svg)](https://github.com/caxlsx/caxlsx/actions)
3
+ [![Gem
4
+ Version](https://badge.fury.io/rb/caxlsx.svg)](http://badge.fury.io/rb/caxlsx)
5
+ ![Total downloads](http://ruby-gem-downloads-badge.herokuapp.com/caxlsx?type=total)
6
+ ![Downloads for 3.2.0 (latest)](http://ruby-gem-downloads-badge.herokuapp.com/caxlsx/3.2.0?label=downloads%203.2.0)
7
+
8
+ ## Notice: Community Axlsx Organization
9
+
10
+ To better maintain the Axlsx ecosystem, all related gems have been forked or moved to the following community organization:
11
+
12
+ http://github.com/caxlsx
13
+
14
+ [Join the Caxlsx Slack channel](https://join.slack.com/t/caxlsx/shared_invite/enQtOTI5OTM0MzI1Njk5LTBlMDQzNDk2YzkwODMxMmVkODMyYzJiZGU5NTQ3YTg5NTBlN2IwZTlmNTRjNzhiY2E0MDY2OTEyYmFlODI5NjA)
15
+
16
+ ## Synopsis
17
+
18
+ Axlsx is an Office Open XML Spreadsheet generator for the Ruby programming language.
19
+ With Axlsx you can create excel worksheets with charts, images (with links), automated and fixed column widths, customized styles, functions, tables, conditional formatting, print options, comments, merged cells, auto filters, file and stream serialization as well as full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents without having to understand the entire ECMA specification.
20
+
21
+ ![Screen 1](https://github.com/caxlsx/caxlsx/raw/master/examples/sample.png)
22
+
23
+
24
+ ## Feature List
25
+
26
+ 1. Author xlsx documents: Caxlsx is made to let you easily and quickly generate professional xlsx based reports that can be validated before serialization.
27
+
28
+ 2. Generate 3D Pie, Line, Scatter and Bar Charts: With Caxlsx chart generation and management is as easy as a few lines of code. You can build charts based off data in your worksheet or generate charts without any data in your sheet at all. Customize gridlines, label rotation and series colors as well.
29
+
30
+ 3. Custom Styles: With guaranteed document validity, you can style borders, alignment, fills, fonts, and number formats in a single line of code. Those styles can be applied to an entire row, or a single cell anywhere in your workbook.
31
+
32
+ 4. Automatic type support: Caxlsx will automatically determine the type of data you are generating. In this release Float, Integer, String, Date, Time and Boolean types are automatically identified and serialized to your spreadsheet.
33
+
34
+ 5. Automatic and fixed column widths: Caxlsx will automatically determine the appropriate width for your columns based on the content in the worksheet, or use any value you specify for the really funky stuff.
35
+
36
+ 6. Support for automatically formatted 1904 and 1900 epochs configurable in the workbook.
37
+
38
+ 7. Add jpg, gif and png images to worksheets with hyperlinks
39
+
40
+ 8. Reference cells in your worksheet with "A1" and "A1:D4" style references or from the workbook using "Sheet1!A3:B4" style references
41
+
42
+ 9. Cell level style overrides for default and customized style objects
43
+
44
+ 10. Support for formulas, merging, row and column outlining as well as
45
+ cell level input data validation.
46
+
47
+ 12. Auto filtering tables with worksheet.auto_filter as well as support for Tables
48
+
49
+ 13. Export using shared strings or inline strings so we can inter-op with iWork Numbers (sans charts for now).
50
+
51
+ 14. Output to file or StringIO
52
+
53
+ 15. Support for page margins and print options
54
+
55
+ 16. Support for password and non password based sheet protection.
56
+
57
+ 17. First stage interoperability support for GoogleDocs, LibreOffice,
58
+ and Numbers
59
+
60
+ 18. Support for defined names, which gives you repeated header rows for printing.
61
+
62
+ 19. Data labels for charts as well as series color customization.
63
+
64
+ 20. Support for sheet headers and footers
65
+
66
+ 21. Pivot Tables
67
+
68
+ 22. Page Breaks
69
+
70
+
71
+ ## Install
72
+
73
+ ```ruby
74
+ gem 'caxlsx'
75
+ ```
76
+
77
+ ## Usage
78
+
79
+ Here's a teaser that kicks about 2% of what the gem can do.
80
+
81
+ ```ruby
82
+ Axlsx::Package.new do |p|
83
+ p.workbook.add_worksheet(:name => "Pie Chart") do |sheet|
84
+ sheet.add_row ["Simple Pie Chart"]
85
+ %w(first second third).each { |label| sheet.add_row [label, rand(24)+1] }
86
+ sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,5], :end_at => [10, 20], :title => "example 3: Pie Chart") do |chart|
87
+ chart.add_series :data => sheet["B2:B4"], :labels => sheet["A2:A4"], :colors => ['FF0000', '00FF00', '0000FF']
88
+ end
89
+ end
90
+ p.serialize('simple.xlsx')
91
+ end
92
+ ```
93
+
94
+ Please see the [examples folder](https://github.com/caxlsx/caxlsx/tree/master/examples) for further information on what you can do with this gem Chances are that it has already been implemented. If it hasn't, let's take a look at adding it in.
95
+
96
+ ## Documentation
97
+
98
+ Detailed documentation is available at:
99
+
100
+ [https://www.rubydoc.info/gems/caxlsx/](https://www.rubydoc.info/gems/caxlsx/)
101
+
102
+ Additional documentation is listed below:
103
+
104
+ - [Examples](https://github.com/caxlsx/caxlsx/tree/master/examples)
105
+ - [FAQ](https://github.com/caxlsx/caxlsx/wiki/FAQ) (work in progress)
106
+ - [Style Reference](https://github.com/caxlsx/caxlsx/blob/master/docs/style_reference.md)
107
+ - [Header and Footer Codes](https://github.com/caxlsx/caxlsx/blob/master/docs/header_and_footer_codes.md)
108
+
109
+ ⚠ Please __do not create issues__ for questions regarding the usage of axlsx / caxlsx. Look through this README, the [examples](https://github.com/caxlsx/caxlsx/tree/master/examples/example.rb), and the [FAQ](https://github.com/caxlsx/caxlsx/wiki/FAQ), and also check [questions tagged `axlsx` on Stack Overflow](https://stackoverflow.com/questions/tagged/axlsx).
110
+
111
+ Feel free to add your question (including an answer!) to the FAQ if you think it is of general interest.
112
+
113
+ ## Plugins, Integrations, and Extensions
114
+
115
+ Currently the following additional gems are available:
116
+
117
+ - [acts_as_caxlsx](https://github.com/caxlsx/acts_as_caxlsx)
118
+ * Provides simple ActiveRecord integration
119
+ - [caxlsx_rails](https://github.com/caxlsx/caxlsx_rails)
120
+ * Provides a `.axlsx` renderer to Rails so you can move all your spreadsheet code from your controller into view files.
121
+ - [activeadmin-caxlsx](https://github.com/caxlsx/activeadmin-caxlsx)
122
+ * An Active Admin plugin that includes DSL to create downloadable reports.
123
+ - [axlsx_styler](https://github.com/axlsx-styler-gem/axlsx_styler)
124
+ * Allows you to build clean and maintainable styles for your axlsx spreadsheets. Build your spreadsheeet with data and then apply styles later.
125
+
126
+ ## Known Software Interoperability Issues
127
+
128
+ As axslx implements the Office Open XML (ECMA-376 spec) much of the
129
+ functionality is interoperable with other spreadsheet software. Below is
130
+ a listing of some known issues.
131
+
132
+ 1. Libre Office
133
+ - You must specify colors for your series. see examples/chart_colors.rb
134
+ for an example.
135
+ - You must use data in your sheet for charts. You cannot use hard coded
136
+ values.
137
+ - Chart axis and gridlines do not render. I have a feeling this is
138
+ related to themes, which axlsx does not implement at this time.
139
+
140
+ 2. Google Docs
141
+ - Images are known to not work with google docs
142
+ - border colors do not work
143
+
144
+ 3. Apple Numbers
145
+ - charts do not render
146
+ - you must set 'use_shared_strings' to true. This is most conveniently done just before rendering by calling Package.use_shared_strings = true prior to serialization.
147
+
148
+ ```ruby
149
+ p = Axlsx::Package.new
150
+ p.workbook.add_worksheet(:name => "Basic Worksheet") do |sheet|
151
+ sheet.add_row ["First Column", "Second", "Third"]
152
+ sheet.add_row [1, 2, 3]
153
+ end
154
+ p.use_shared_strings = true
155
+ p.serialize('simple.xlsx')
156
+ ```
157
+
158
+ ## Contributing
159
+
160
+ See [CONTRIBUTING.md](https://github.com/caxlsx/caxlsx/blob/master/CONTRIBUTING.md)
161
+
162
+ ## Credits
163
+
164
+ Originally created by Randy Morgan - @randym
165
+
166
+ Forked in 2019, to enable the community to maintain the Axlsx ecosystem - http://github.com/caxlsx
167
+
168
+ Open source software is a community effort. None of this could have been done without the help of [our Contributors](https://github.com/caxlsx/caxlsx/graphs/contributors).
data/Rakefile CHANGED
@@ -1,29 +1,29 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/lib/axlsx/version.rb')
2
-
3
- task :build => :gendoc do
4
- system "gem build axlsx.gemspec"
5
- end
6
-
7
- task :benchmark do
8
- require File.expand_path(File.dirname(__FILE__) + '/test/benchmark.rb')
9
- end
10
-
11
- task :gendoc do
12
- system "yardoc"
13
- system "yard stats --list-undoc"
14
- end
15
-
16
-
17
- require 'rake/testtask'
18
- Rake::TestTask.new do |t|
19
- t.libs << 'test'
20
- t.test_files = FileList['test/**/tc_*.rb']
21
- t.verbose = false
22
- t.warning = true
23
- end
24
-
25
- task :release => :build do
26
- system "gem push caxlsx-#{Axlsx::VERSION}.gem"
27
- end
28
-
29
- task :default => :test
1
+ require File.expand_path(File.dirname(__FILE__) + '/lib/axlsx/version.rb')
2
+
3
+ task :build => :gendoc do
4
+ system "gem build axlsx.gemspec"
5
+ end
6
+
7
+ task :benchmark do
8
+ require File.expand_path(File.dirname(__FILE__) + '/test/benchmark.rb')
9
+ end
10
+
11
+ task :gendoc do
12
+ system "yardoc"
13
+ system "yard stats --list-undoc"
14
+ end
15
+
16
+
17
+ require 'rake/testtask'
18
+ Rake::TestTask.new do |t|
19
+ t.libs << 'test'
20
+ t.test_files = FileList['test/**/tc_*.rb']
21
+ t.verbose = false
22
+ t.warning = true
23
+ end
24
+
25
+ task :release => :build do
26
+ system "gem push caxlsx-#{Axlsx::VERSION}.gem"
27
+ end
28
+
29
+ task :default => :test
data/examples/generate.rb CHANGED
@@ -1,15 +1,15 @@
1
- #!/usr/bin/env ruby
2
-
3
- files = if !ARGV.empty?
4
- ARGV.select { |file| File.exist?(file) }
5
- else
6
- Dir['*_example.md']
7
- end
8
-
9
- files.each do |file|
10
- puts "Executing #{file.split('.')[0].tr('_', ' ')}"
11
- code = File.read(file).match(/```ruby(?<code>.+)```/m)[:code]
12
- unless code.nil?
13
- eval(['$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"', code].join("\n"))
14
- end
15
- end
1
+ #!/usr/bin/env ruby
2
+
3
+ files = if !ARGV.empty?
4
+ ARGV.select { |file| File.exist?(file) }
5
+ else
6
+ Dir['*_example.md']
7
+ end
8
+
9
+ files.each do |file|
10
+ puts "Executing #{file.split('.')[0].tr('_', ' ')}"
11
+ code = File.read(file).match(/```ruby(?<code>.+)```/m)[:code]
12
+ unless code.nil?
13
+ eval(['$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"', code].join("\n"))
14
+ end
15
+ end
@@ -1,32 +1,32 @@
1
- module Axlsx
2
-
3
- # This class extracts the common parts from Default and Override
4
- class AbstractContentType
5
-
6
- include Axlsx::OptionsParser
7
-
8
- # Initializes an abstract content type
9
- # @see Default, Override
10
- def initialize(options={})
11
- parse_options options
12
- end
13
-
14
- # The type of content.
15
- # @return [String]
16
- attr_reader :content_type
17
- alias :ContentType :content_type
18
-
19
- # The content type.
20
- # @see Axlsx#validate_content_type
21
- def content_type=(v) Axlsx::validate_content_type v; @content_type = v end
22
- alias :ContentType= :content_type=
23
-
24
- # Serialize the contenty type to xml
25
- def to_xml_string(node_name = '', str = '')
26
- str << "<#{node_name} "
27
- str << instance_values.map { |key, value| Axlsx::camel(key) << '="' << value.to_s << '"' }.join(' ')
28
- str << '/>'
29
- end
30
-
31
- end
32
- end
1
+ module Axlsx
2
+
3
+ # This class extracts the common parts from Default and Override
4
+ class AbstractContentType
5
+
6
+ include Axlsx::OptionsParser
7
+
8
+ # Initializes an abstract content type
9
+ # @see Default, Override
10
+ def initialize(options={})
11
+ parse_options options
12
+ end
13
+
14
+ # The type of content.
15
+ # @return [String]
16
+ attr_reader :content_type
17
+ alias :ContentType :content_type
18
+
19
+ # The content type.
20
+ # @see Axlsx#validate_content_type
21
+ def content_type=(v) Axlsx::validate_content_type v; @content_type = v end
22
+ alias :ContentType= :content_type=
23
+
24
+ # Serialize the contenty type to xml
25
+ def to_xml_string(node_name = '', str = '')
26
+ str << "<#{node_name} "
27
+ str << instance_values.map { |key, value| Axlsx::camel(key) << '="' << value.to_s << '"' }.join(' ')
28
+ str << '/>'
29
+ end
30
+
31
+ end
32
+ end
@@ -1,26 +1,26 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- require 'axlsx/content_type/abstract_content_type.rb'
4
- require 'axlsx/content_type/default.rb'
5
- require 'axlsx/content_type/override.rb'
6
-
7
- # ContentTypes used in the package. This is automatically managed by the package package.
8
- class ContentType < SimpleTypedList
9
-
10
- def initialize
11
- super [Override, Default]
12
- end
13
-
14
- # Serializes the object
15
- # @param [String] str
16
- # @return [String]
17
- def to_xml_string(str = '')
18
- str << '<?xml version="1.0" encoding="UTF-8"?>'
19
- str << ('<Types xmlns="' << XML_NS_T << '">')
20
- each { |type| type.to_xml_string(str) }
21
- str << '</Types>'
22
- end
23
-
24
- end
25
-
26
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+ require 'axlsx/content_type/abstract_content_type.rb'
4
+ require 'axlsx/content_type/default.rb'
5
+ require 'axlsx/content_type/override.rb'
6
+
7
+ # ContentTypes used in the package. This is automatically managed by the package package.
8
+ class ContentType < SimpleTypedList
9
+
10
+ def initialize
11
+ super [Override, Default]
12
+ end
13
+
14
+ # Serializes the object
15
+ # @param [String] str
16
+ # @return [String]
17
+ def to_xml_string(str = '')
18
+ str << '<?xml version="1.0" encoding="UTF-8"?>'
19
+ str << ('<Types xmlns="' << XML_NS_T << '">')
20
+ each { |type| type.to_xml_string(str) }
21
+ str << '</Types>'
22
+ end
23
+
24
+ end
25
+
26
+ end
@@ -1,25 +1,25 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
-
4
- # An default content part. These parts are automatically created by for you based on the content of your package.
5
- class Default < AbstractContentType
6
-
7
- # The serialization node name for this class
8
- NODE_NAME = 'Default'
9
-
10
- # The extension of the content type.
11
- # @return [String]
12
- attr_reader :extension
13
- alias :Extension :extension
14
-
15
- # Sets the file extension for this content type.
16
- def extension=(v) Axlsx::validate_string v; @extension = v end
17
- alias :Extension= :extension=
18
-
19
- # Serializes this object to xml
20
- def to_xml_string(str ='')
21
- super(NODE_NAME, str)
22
- end
23
- end
24
-
25
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+
4
+ # An default content part. These parts are automatically created by for you based on the content of your package.
5
+ class Default < AbstractContentType
6
+
7
+ # The serialization node name for this class
8
+ NODE_NAME = 'Default'
9
+
10
+ # The extension of the content type.
11
+ # @return [String]
12
+ attr_reader :extension
13
+ alias :Extension :extension
14
+
15
+ # Sets the file extension for this content type.
16
+ def extension=(v) Axlsx::validate_string v; @extension = v end
17
+ alias :Extension= :extension=
18
+
19
+ # Serializes this object to xml
20
+ def to_xml_string(str ='')
21
+ super(NODE_NAME, str)
22
+ end
23
+ end
24
+
25
+ end