caxlsx 3.2.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
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
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,168 +1,165 @@
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).
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 Version](https://badge.fury.io/rb/caxlsx.svg)](http://badge.fury.io/rb/caxlsx)
4
+ ![Total downloads](http://ruby-gem-downloads-badge.herokuapp.com/caxlsx?type=total)
5
+ ![Downloads for 3.3.0 (latest)](http://ruby-gem-downloads-badge.herokuapp.com/caxlsx/3.3.0?label=downloads%203.3.0)
6
+
7
+ ## Notice: Community Axlsx Organization
8
+
9
+ To better maintain the Axlsx ecosystem, all related gems have been forked or moved to the following community organization:
10
+
11
+ http://github.com/caxlsx
12
+
13
+ [Join the Caxlsx Slack channel](https://join.slack.com/t/caxlsx/shared_invite/enQtOTI5OTM0MzI1Njk5LTBlMDQzNDk2YzkwODMxMmVkODMyYzJiZGU5NTQ3YTg5NTBlN2IwZTlmNTRjNzhiY2E0MDY2OTEyYmFlODI5NjA)
14
+
15
+ ## Synopsis
16
+
17
+ Axlsx is an Office Open XML Spreadsheet generator for the Ruby programming language.
18
+ 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.
19
+
20
+ ![Screen 1](https://github.com/caxlsx/caxlsx/raw/master/examples/sample.png)
21
+
22
+
23
+ ## Feature List
24
+
25
+ 1. Author xlsx documents: Caxlsx is made to let you easily and quickly generate professional xlsx based reports that can be validated before serialization.
26
+
27
+ 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.
28
+
29
+ 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.
30
+
31
+ 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.
32
+
33
+ 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.
34
+
35
+ 6. Support for automatically formatted 1904 and 1900 epochs configurable in the workbook.
36
+
37
+ 7. Add jpg, gif and png images to worksheets with hyperlinks
38
+
39
+ 8. Reference cells in your worksheet with "A1" and "A1:D4" style references or from the workbook using "Sheet1!A3:B4" style references
40
+
41
+ 9. Cell level style overrides for default and customized style objects
42
+
43
+ 10. Support for formulas, merging, row and column outlining as well as
44
+ cell level input data validation.
45
+
46
+ 12. Auto filtering tables with worksheet.auto_filter as well as support for Tables
47
+
48
+ 13. Export using shared strings or inline strings so we can inter-op with iWork Numbers (sans charts for now).
49
+
50
+ 14. Output to file or StringIO
51
+
52
+ 15. Support for page margins and print options
53
+
54
+ 16. Support for password and non password based sheet protection.
55
+
56
+ 17. First stage interoperability support for GoogleDocs, LibreOffice,
57
+ and Numbers
58
+
59
+ 18. Support for defined names, which gives you repeated header rows for printing.
60
+
61
+ 19. Data labels for charts as well as series color customization.
62
+
63
+ 20. Support for sheet headers and footers
64
+
65
+ 21. Pivot Tables
66
+
67
+ 22. Page Breaks
68
+
69
+
70
+ ## Install
71
+
72
+ ```ruby
73
+ gem 'caxlsx'
74
+ ```
75
+
76
+ ## Usage
77
+
78
+ Here's a teaser that kicks about 2% of what the gem can do.
79
+
80
+ ```ruby
81
+ Axlsx::Package.new do |p|
82
+ p.workbook.add_worksheet(:name => "Pie Chart") do |sheet|
83
+ sheet.add_row ["Simple Pie Chart"]
84
+ %w(first second third).each { |label| sheet.add_row [label, rand(24)+1] }
85
+ sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,5], :end_at => [10, 20], :title => "example 3: Pie Chart") do |chart|
86
+ chart.add_series :data => sheet["B2:B4"], :labels => sheet["A2:A4"], :colors => ['FF0000', '00FF00', '0000FF']
87
+ end
88
+ end
89
+ p.serialize('simple.xlsx')
90
+ end
91
+ ```
92
+
93
+ 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.
94
+
95
+ ## Documentation
96
+
97
+ Detailed documentation is available at:
98
+
99
+ [https://www.rubydoc.info/gems/caxlsx/](https://www.rubydoc.info/gems/caxlsx/)
100
+
101
+ Additional documentation is listed below:
102
+
103
+ - [Examples](https://github.com/caxlsx/caxlsx/tree/master/examples)
104
+ - [FAQ](https://github.com/caxlsx/caxlsx/wiki/FAQ) (work in progress)
105
+ - [Style Reference](https://github.com/caxlsx/caxlsx/blob/master/docs/style_reference.md)
106
+ - [Header and Footer Codes](https://github.com/caxlsx/caxlsx/blob/master/docs/header_and_footer_codes.md)
107
+
108
+ ⚠ 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).
109
+
110
+ Feel free to add your question (including an answer!) to the FAQ if you think it is of general interest.
111
+
112
+ ## Plugins, Integrations, and Extensions
113
+
114
+ Currently the following additional gems are available:
115
+
116
+ - [acts_as_caxlsx](https://github.com/caxlsx/acts_as_caxlsx)
117
+ * Provides simple ActiveRecord integration
118
+ - [caxlsx_rails](https://github.com/caxlsx/caxlsx_rails)
119
+ * Provides a `.axlsx` renderer to Rails so you can move all your spreadsheet code from your controller into view files.
120
+ - [activeadmin-caxlsx](https://github.com/caxlsx/activeadmin-caxlsx)
121
+ * An Active Admin plugin that includes DSL to create downloadable reports.
122
+
123
+ ## Known Software Interoperability Issues
124
+
125
+ As axslx implements the Office Open XML (ECMA-376 spec) much of the
126
+ functionality is interoperable with other spreadsheet software. Below is
127
+ a listing of some known issues.
128
+
129
+ 1. Libre Office
130
+ - You must specify colors for your series. see examples/chart_colors.rb
131
+ for an example.
132
+ - You must use data in your sheet for charts. You cannot use hard coded
133
+ values.
134
+ - Chart axis and gridlines do not render. I have a feeling this is
135
+ related to themes, which axlsx does not implement at this time.
136
+
137
+ 2. Google Docs
138
+ - Images are known to not work with google docs
139
+ - border colors do not work
140
+
141
+ 3. Apple Numbers
142
+ - charts do not render
143
+ - 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.
144
+
145
+ ```ruby
146
+ p = Axlsx::Package.new
147
+ p.workbook.add_worksheet(:name => "Basic Worksheet") do |sheet|
148
+ sheet.add_row ["First Column", "Second", "Third"]
149
+ sheet.add_row [1, 2, 3]
150
+ end
151
+ p.use_shared_strings = true
152
+ p.serialize('simple.xlsx')
153
+ ```
154
+
155
+ ## Contributing
156
+
157
+ See [CONTRIBUTING.md](https://github.com/caxlsx/caxlsx/blob/master/CONTRIBUTING.md)
158
+
159
+ ## Credits
160
+
161
+ Originally created by Randy Morgan - @randym
162
+
163
+ Forked in 2019, to enable the community to maintain the Axlsx ecosystem - http://github.com/caxlsx
164
+
165
+ 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 << Axlsx.instance_values_for(self).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