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/CHANGELOG.md CHANGED
@@ -1,343 +1,354 @@
1
- CHANGELOG
2
- ---------
3
-
4
- - **September.22.21**: 3.1.1
5
- - [PR #107](https://github.com/caxlsx/caxlsx/pull/107) - Add overlap to bar charts
6
- - [PR #108](https://github.com/caxlsx/caxlsx/pull/108) - Fix gap depth and gap depth validators for bar charts and 3D bar charts
7
-
8
- - **March.27.21**: 3.1.0
9
- - [PR #95](https://github.com/caxlsx/caxlsx/pull/95) - Replace mimemagic with marcel
10
- - [PR #87](https://github.com/caxlsx/caxlsx/pull/87) - Implement :offset option for worksheet#add_row
11
- - [PR #79](https://github.com/caxlsx/caxlsx/pull/79) - Add support for format in pivot tables
12
- - [PR #77](https://github.com/caxlsx/caxlsx/pull/77) - Fix special characters in table header
13
- - [PR #57](https://github.com/caxlsx/caxlsx/pull/57) - Deprecate using #serialize with boolean argument: Calls like `Package#serialize("name.xlsx", false)` should be replaced with `Package#serialize("name.xlsx", confirm_valid: false)`.
14
-
15
- - **January.5.21**: 3.0.4
16
- - [PR #72](https://github.com/caxlsx/caxlsx/pull/72) - Relax Ruby dependency to allow for Ruby 3. This required Travis to be upgraded from Ubuntu Trusty to Ubuntu Bionic. rbx-3 was dropped.
17
- - [PR #71](https://github.com/caxlsx/caxlsx/pull/71) - Adds date type to validator so sheet.add_data_validation works with date type. Addresses [I #26](https://github.com/caxlsx/caxlsx/issues/26) - Date Data Validation not working
18
- - [PR #70](https://github.com/caxlsx/caxlsx/pull/70) - Fix worksheet title length enforcement caused by switching from size to bytesize. Addresses [I #67](https://github.com/caxlsx/caxlsx/issues/67) - character length error in worksheet name when using Japanese, which was introduced by addressing [I #588](https://github.com/randym/axlsx/issues/588) in the old Axlsx repo.
19
-
20
-
21
- - **December.7.20**: 3.0.3
22
- - [PR #62](https://github.com/caxlsx/caxlsx/pull/62) - Fix edge cases in format detection for objects whose string representation made them look like numbers but the object didn’t respond to `#to_i` or `#to_f`.
23
- - [PR #56](https://github.com/caxlsx/caxlsx/pull/56) - Add `zip_command` option to `#serialize` for faster serialization of large Excel files by using a zip binary
24
- - [PR #54](https://github.com/caxlsx/caxlsx/pull/54) - Fix type detection for floats with out-of-rage exponents
25
- - [I #67](https://github.com/caxlsx/caxlsx/issues/67) - Fix regression in worksheet name length enforcement: Some unicode characters were counted incorrectly, so that names that previously worked fine now stopped working. (This was introduced in 3.0.2)
26
-
27
- - **July.16.20**: 3.0.2
28
- - [I #51](https://github.com/caxlsx/caxlsx/issues/51) - Images do not import on Windows. IO read set explicitly to binary mode.
29
- - [PR #53](https://github.com/caxlsx/caxlsx/pull/53) - Limit column width to 255. Maximum column width limit in MS Excel is 255 characters, see https://support.microsoft.com/en-us/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3
30
- - [PR #44](https://github.com/caxlsx/caxlsx/pull/44) - Improve cell autowidth calculations. Previously columns with undefined/auto width would tend to be just slightly too small for the content. This is because certain letters were being excluded from the width calculation because they were deemed not wide enough. We now treat all characters as equal width which helps ensure columns auto-widths are actually large enough for the content. This will gain us a very slight performance improvement because of we are no longer searching the string for specific characters.
31
-
32
- - **October.4.19**: 3.0.1
33
- - Support for ruby versions limited to officially supported version (Ruby v2.3+)
34
- - Updates to dependency gems, especially nokogiri and ruby-zip
35
- - Fix Relationship.instances cache
36
- - Autoload fix for Rails
37
-
38
- - **October.4.19**: 2.0.2
39
- - Released as caxlsx, fork of axlsx
40
- - Update ruby-zip dependency (fixes https://github.com/randym/axlsx/issues/536)
41
-
42
- - **September.17.19**: 3.0.0
43
- - First release of caxlsx, fork of axlsx
44
-
45
- - **April.1.17**: 3.0.0-pre
46
- - Support for ruby versions limited to officially supported version
47
- - Updates to dependency gems, especially nokogiri and ruby-zip
48
- - Patch options parsing for two cell anchor
49
- - Remove support for depreciated worksheet members
50
- - Added Cell#name so you you can quickly create a defined name for a single cell in your workbook.
51
- - Added full book view and sheet state management. This means you can specify how the workbook renders as well as manage sheet visibility.
52
- - Added smoothing management for line charts series
53
-
54
- - **September.12.13**: 2.0.1
55
- - Unpinned rubyzip version
56
-
57
- - **September.12.13**: 2.0.0
58
- - DROPPED support for ruby 1.8.7
59
- - Altered readme to link to contributors
60
- - Lots of improvements to make charts and relations more stable.
61
- - Patched color param mutation.
62
- - Data sourced for pivot tables can now come from other sheets.
63
- - Altered image file extension comparisons to be case insensitive.
64
- - Added control character sanitization to shared strings.
65
- - Added page breaks. see examples/example.rb for an example.
66
- - Bugfix: single to dual cell anchors for images now swap properly so you can set the end_at position during instantiation, in a block or directly on the image.
67
- - Improved how we convert date/time to include the UTC offset when provided.
68
- - Pinned rubyzip to 0.9.9 for those who are not ready to go up. Please note that release 2.0.1 and on will be using the 1.n.n series of rubyzip
69
- - Bugfix: transposition of cells for Worksheet#cols now supports
70
- incongruent column counts.counts
71
- - Added space preservation for cell text. This will allow whitespace
72
- in cell text both when using shared strings and when serializing
73
- directly to the cell.
74
-
75
- - **April.24.13**: 1.3.6
76
- - Fixed LibreOffice/OpenOffice issue to properly apply colors to lines
77
- in charts.
78
- - Added support for specifying between/notBetween formula in an array.
79
- *thanks* straydogstudio!
80
- - Added standard line chart support. *thanks* scambra
81
- - Fixed straydogstudio's link in the README. *thanks* nogara!
82
-
83
- - **February.4.13**: 1.3.5
84
- - converted vary_colors for chart data to instance variable with appropriate defulats for the various charts.
85
- - Added trust_input method on Axlsx to instruct the serializer to skip HTML escaping. This will give you a tremendous performance boost,
86
- Please be sure that you will never have <, >, etc in your content or the XML will be invalid.
87
- - Rewrote cell serialization to improve performance
88
- - Added iso_8601 type to support text based date and time management.
89
- - Bug fix for relationship management in drawings when you add images
90
- and charts to the same worksheet drawing.
91
- - Added outline_level_rows and outline_level_columns to worksheet to simplify setting up outlining in the worksheet.
92
- - Added support for pivot tables
93
- - Added support for descrete border edge styles
94
- - Improved validation of sheet names
95
- - Added support for formula value caching so that iOS and OSX preview can show the proper values. See Cell.add_row and the formula_values option.
96
-
97
- - **November.25.12**: 1.3.4
98
- - Support for headers and footers for worksheets
99
- - bug fix: Properly escape hyperlink urls
100
- - Improvements in color_scale generation for conditional formatting
101
- - Improvements in autowidth calculation.
102
-
103
- - **November.8.12**: 1.3.3
104
- - Patched cell run styles for u and validation for family
105
-
106
- - **November.5.12**: 1.3.2
107
- - MASSIVE REFACTORING
108
- - Patch for apostrophes in worksheet names
109
- - added sheet_by_name for workbook so you can now find your worksheets
110
- by name
111
- - added insert_worksheet so you can now add a worksheet to an
112
- arbitrary position in the worksheets list.
113
- - reduced memory consumption for package parts post serialization
114
-
115
- - **September.30.12**: 1.3.1
116
- - Improved control character handling
117
- - Added stored auto filter values and date grouping items
118
- - Improved support for autowidth when custom styles are applied
119
- - Added support for table style info that lets you take advantage of
120
- all the predefined table styles.
121
- - Improved style management for fonts so they merge undefined values
122
- from the initial master.
123
-
124
- - **September.8.12**: 1.2.3
125
- - enhance exponential float/bigdecimal values rendering as strings intead
126
- of 'numbers' in excel.
127
- - added support for :none option on chart axis labels
128
- - added support for paper_size option on worksheet.page_setup
129
-
130
- - **August.27.12**: 1.2.2
131
- - minor patch for auto-filters
132
- - minor documentation improvements.
133
-
134
- - **August.12.12**: 1.2.1
135
- - Add support for hyperlinks in worksheets
136
- - Fix example that was using old style cell merging with concact.
137
- - Fix bug that occurs when calculating the font_size for cells that use a user specified style which does not define sz
138
-
139
- - **August.5.12**: 1.2.0
140
- - rebuilt worksheet serialization to clean up the code base a bit.
141
- - added data labels for charts
142
- - added table header printing for each sheet via defined_name. This
143
- means that when you print your worksheet, the header rows show for every page
144
-
145
- - **July.??.12**: 1.1.9
146
- - lots of code clean up for worksheet
147
- - added in data labels for pie charts, line charts and bar charts.
148
- - bugfix chard with data in a sheet that has a space in the name are
149
- now auto updating formula based values
150
-
151
- - **July.14.12**: 1.1.8
152
- - added html entity encoding for sheet names. This allows you to use
153
- characters like '<' and '&' in your sheet names.
154
- - new - first round google docs interoperability
155
- - added filter to strip out control characters from cell data.
156
- - added in interop requirements so that charts are properly exported
157
- to PDF from Libra Office
158
- - various readability improvements and work standardizing attribute
159
- names to snake_case. Aliases are provided for backward compatiblity
160
-
161
- - **June.11.12**: 1.1.7
162
- - fix chart rendering issue when label offset is specified as a
163
- percentage in serialization and ensure that formula are not stored
164
- in value caches
165
- - fix bug that causes repair warnings when using a text only title reference.
166
- - Add title property to axis so you can lable the x/y/series axis for
167
- charts.
168
- - Add sheet views with panes
169
-
170
- - **May.30.12**: 1.1.6
171
- - data protection with passwords for sheets
172
- - cell level input validators
173
- - added support for two cell anchors for images
174
- - test coverage now back up to 100%
175
- - bugfix for merge cell sorting algorithm
176
- - added fit_to method for page_setup to simplify managing witdh/height
177
- - added ph (phonetics) and s (style) attributes for row.
178
- - resolved all warnings generating from this gem.
179
- - improved comment relationship management for multiple comments
180
-
181
- - **May.13.12**: 1.1.5
182
- - MOAR print options! You can now specify paper size, orientation,
183
- fit to width, page margings and gridlines for printing.
184
- - Support for adding comments to your worksheets
185
- - bugfix for applying style to empty cells
186
- - bugfix for parsing formula with multiple '='
187
-
188
- - **May.3.12:**: 1.1.4
189
- - MOAR examples
190
- - added outline level for rows and columns
191
- - rebuild of numeric and axis data sources for charts
192
- - added delete to axis
193
- - added tick and label mark skipping for cat axis in charts
194
- - bugfix for table headers method
195
- - sane(er) defaults for chart positioning
196
- - bugfix in val_axis_data to properly serialize value axis data. Excel does not mind as it reads from the sheet, but nokogiri has a fit if the elements are empty.
197
- - Added support for specifying the color of data series in charts.
198
- - bugfix using add_cell on row mismanaged calls to update_column_info.
199
-
200
- - **April.25.12:**: 1.1.3
201
- - Primarily because I am stupid.....Updates to readme to properly report version, add in missing docs and restructure example directory.
202
-
203
- - **April.25.12:**: 1.1.2
204
- - Conditional Formatting completely implemented.
205
- - refactoring / documentation for Style#add_style
206
- - added in label rotation for chart axis labels
207
- - bugfix to properly assign style and type info to cells when only partial information is provided in the types/style option
208
-
209
- - **April.18.12**: 1.1.1
210
- - bugfix for autowidth calculations across multiple rows
211
- - bugfix for dimension calculations with nil cells.
212
- - REMOVED RMAGICK dependency WOOT!
213
- - Update readme to show screenshot of gem output.
214
- - Cleanup benchmark and add benchmark rake task
215
-
216
- - **April.3.12**: 1.1.0
217
- - bugfix patch name_to_indecies to properly handle extended ranges.
218
- - bugfix properly serialize chart title.
219
- - lower rake minimum requirement for 1.8.7 apps that don't want to move on to 0.9 NOTE this will be reverted for 2.0.0 with workbook parsing!
220
- - Added Fit to Page printing
221
- - added support for turning off gridlines in charts.
222
- - added support for turning off gridlines in worksheet.
223
- - bugfix some apps like libraoffice require apply[x] attributes to be true. applyAlignment is now properly set.
224
- - added option use_autowidth. When this is false RMagick will not be loaded or used in the stack. However it is still a requirement in the gem.
225
- - added border style specification to styles#add_style. See the example in the readme.
226
- - Support for tables added in - Note: Pre 2011 versions of Mac office do not support this feature and will warn.
227
- - Support for splatter charts added
228
- - Major (like 7x faster!) performance updates.
229
- - Gem now supports for JRuby 1.6.7, as well as experimental support for Rubinius
230
-
231
- - **March.5.12**: 1.0.18
232
- https://github.com/randym/axlsx/compare/1.0.17...1.0.18
233
- - bugfix custom borders are not properly applied when using styles.add_style
234
- - interop worksheet names must be 31 characters or less or some versions of office complain about repairs
235
- - added type support for :boolean and :date types cell values
236
- - added support for fixed column widths
237
- - added support for page_margins
238
- - added << alias for add_row
239
- - removed presetting of date1904 based on authoring platform. Now defaults to use 1900 epoch (date1904 = false)
240
-
241
- - **February.14.12**: 1.0.17
242
- https://github.com/randym/axlsx/compare/1.0.16...1.0.17
243
- - Added in support for serializing to StringIO
244
- - Added in support for using shared strings table. This makes most of the features in axlsx interoperable with iWorks Numbers
245
- - Added in support for fixed column_widths
246
- - Removed unneeded dependencies on active-support and i18n
247
-
248
- - **February.2.12**: 1.0.16
249
- https://github.com/randym/axlsx/compare/1.0.15...1.0.16
250
- - Bug fix for schema file locations when validating in rails
251
- - Added hyperlink to images
252
- - date1904 now automatically set in BSD and mac environments
253
- - removed whitespace/indentation from xml outputs
254
- - col_style now skips rows that do not contain cells at the column index
255
-
256
- - **January.6.12**: 1.0.15
257
- https://github.com/randym/axlsx/compare/1.0.14...1.0.15
258
- - Bug fix add_style specified number formats must be explicity applied for libraOffice
259
- - performance improvements from ochko when creating cells with options.
260
- - Bug fix setting types=>[:n] when adding a row incorrectly determines the cell type to be string as the value is null during creation.
261
- - Release in preparation for password protection merge
262
-
263
- - **December.14.11**: 1.0.14
264
- - Added support for merging cells
265
- - Added support for auto filters
266
- - Improved auto width calculations
267
- - Improved charts
268
- - Updated examples to output to a single workbook with multiple sheets
269
- - Added access to app and core package objects so you can set the creator and other properties of the package
270
- - The beginning of password protected xlsx files - roadmapped for January release.
271
-
272
- - **December.8.11**: 1.0.13
273
- - Fixing .gemspec errors that caused gem to miss the lib directory. Sorry about that.
274
-
275
- - **December.7.11**: 1.0.12
276
- DO NOT USE THIS VERSION = THE GEM IS BROKEN
277
- - changed dependency from 'zip' gem to 'rubyzip' and added conditional code to force binary encoding to resolve issue with excel 2011
278
- - Patched bug in app.xml that would ignore user specified properties.
279
- - **December.5.11**: 1.0.11
280
- - Added [] methods to worksheet and workbook to provide name based access to cells.
281
- - Added support for functions as cell values
282
- - Updated color creation so that two character shorthand values can be used like 'FF' for 'FFFFFFFF' or 'D8' for 'FFD8D8D8'
283
- - Examples for all this fun stuff added to the readme
284
- - Clean up and support for 1.9.2 and travis integration
285
- - Added support for string based cell referencing to chart start_at and end_at. That means you can now use :start_at=>"A1" when using worksheet.add_chart, or chart.start_at ="A1" in addition to passing a cell or the x, y coordinates.
286
-
287
- - **October.30.11**: 1.0.10
288
- - Updating gemspec to lower gem version requirements.
289
- - Added row.style assignation for updating the cell style for an entire row
290
- - Added col_style method to worksheet upate a the style for a column of cells
291
- - Added cols for an easy reference to columns in a worksheet.
292
- - prep for pre release of acts_as_xlsx gem
293
- - added in travis.ci configuration and build status
294
- - fixed out of range bug in time calculations for 32bit time.
295
- - added i18n for active support
296
-
297
- - **October.26.11**: 1.0.9
298
- - Updated to support ruby 1.9.3
299
- - Updated to eliminate all warnings originating in this gem
300
-
301
- - **October.23.11**: 1.0.8
302
- - Added support for images (jpg, gif, png) in worksheets.
303
-
304
- - **October.23.11**: 1.0.7 released
305
- - Added support for 3D options when creating a new chart. This lets you set the persective, rotation and other 3D attributes when using worksheet.add_chart
306
- - Updated serialization write test to verify write permissions and warn if it cannot run the test due to permission restrcitions.
307
- - updated rake to include build, genoc and deploy tasks.
308
- - rebuilt documentation.
309
- - moved version constant to its own file
310
- - fixed bug in SerAxis that was requiring tickLblSkip and tickMarkSkip to be boolean. Should be unsigned int.
311
- - Review and improve docs
312
- - rebuild of anchor positioning to remove some spagetti code. Chart now supports a start_at and end_at method that accept an arrar for col/row positioning. See example6 for an example. You can still pass :start_at and :end_at options to worksheet.add_chart.
313
- - Refactored cat and val axis data to keep series serialization a bit more DRY
314
-
315
- - **October.22.11**: 1.0.6
316
- - Bumping version to include docs. Bug in gemspec pointing to incorrect directory.
317
-
318
- - **October.22.11**: 1.05
319
- - Added support for line charts
320
- - Updated examples and readme
321
- - Updated series title to be a real title ** NOTE ** If you are accessing titles directly you will need to update text assignation.
322
- chart.series.first.title = 'Your Title'
323
- chart.series.first.title.text = 'Your Title'
324
- With this change you can assign a cell for the series title
325
- chart.series.title = sheet.rows.first.cells.first
326
- If you are using the recommended
327
- chart.add_series :data=>[], :labels=>[], :title
328
- You do not have to change anything.
329
- - BugFix: shape attribute for bar chart is now properly serialized
330
- - BugFix: date1904 property now properly set for charts
331
- - Added style property to charts
332
- - Removed serialization write test as it most commonly fails when run from the gem's intalled directory
333
-
334
- - **October.21.11**: 1.0.4
335
- - altered package to accept a filename string for serialization instead of a File object.
336
- - Updated specs to conform
337
- - More examples for readme
338
-
339
-
340
- - **October.21.11**: 1.0.3
341
- - Updated documentation
342
-
343
- - **October.20.11**: 0.1.0
1
+ CHANGELOG
2
+ ---------
3
+
4
+ - **Unreleased**
5
+
6
+ - **February.23.22**: 3.2.0
7
+ - [PR #75](https://github.com/caxlsx/caxlsx/pull/85) - Added manageable markers for scatter series
8
+ - [PR #116](https://github.com/caxlsx/caxlsx/pull/116) - Validate name option to be non-empty string when passed.
9
+ - [PR #117](https://github.com/caxlsx/caxlsx/pull/117) - Allow passing an Array of border hashes to the `border` style. Change previous behaviour where `border_top`, `border_*` styles would not be applied unless `border` style was also defined.
10
+ - [PR #122](https://github.com/caxlsx/caxlsx/pull/122) - Improve error messages when incorrect ranges are provided to `Worksheet#[]`
11
+ - [PR #123](https://github.com/caxlsx/caxlsx/pull/123) - Fix invalid xml when pivot table created with more than one column in data field. Solves [Issue #110](https://github.com/caxlsx/caxlsx/issues/110)
12
+ - [PR #127](https://github.com/caxlsx/caxlsx/pull/127) - Possibility to configure the calculation of the autowidth mechanism with `font_scale_divisor` and `bold_font_multiplier`. Example: [Fine tuned autowidth](examples/fine_tuned_autowidth_example.md)
13
+
14
+ - **September.22.21**: 3.1.1
15
+ - [PR #107](https://github.com/caxlsx/caxlsx/pull/107) - Add overlap to bar charts
16
+ - [PR #108](https://github.com/caxlsx/caxlsx/pull/108) - Fix gap depth and gap depth validators for bar charts and 3D bar charts
17
+ - [PR #94](https://github.com/caxlsx/caxlsx/pull/94) - Major performance improvement for charts with large amounts of data
18
+
19
+ - **March.27.21**: 3.1.0
20
+ - [PR #95](https://github.com/caxlsx/caxlsx/pull/95) - Replace mimemagic with marcel
21
+ - [PR #87](https://github.com/caxlsx/caxlsx/pull/87) - Implement :offset option for worksheet#add_row
22
+ - [PR #79](https://github.com/caxlsx/caxlsx/pull/79) - Add support for format in pivot tables
23
+ - [PR #77](https://github.com/caxlsx/caxlsx/pull/77) - Fix special characters in table header
24
+ - [PR #57](https://github.com/caxlsx/caxlsx/pull/57) - Deprecate using #serialize with boolean argument: Calls like `Package#serialize("name.xlsx", false)` should be replaced with `Package#serialize("name.xlsx", confirm_valid: false)`.
25
+
26
+ - **January.5.21**: 3.0.4
27
+ - [PR #72](https://github.com/caxlsx/caxlsx/pull/72) - Relax Ruby dependency to allow for Ruby 3. This required Travis to be upgraded from Ubuntu Trusty to Ubuntu Bionic. rbx-3 was dropped.
28
+ - [PR #71](https://github.com/caxlsx/caxlsx/pull/71) - Adds date type to validator so sheet.add_data_validation works with date type. Addresses [I #26](https://github.com/caxlsx/caxlsx/issues/26) - Date Data Validation not working
29
+ - [PR #70](https://github.com/caxlsx/caxlsx/pull/70) - Fix worksheet title length enforcement caused by switching from size to bytesize. Addresses [I #67](https://github.com/caxlsx/caxlsx/issues/67) - character length error in worksheet name when using Japanese, which was introduced by addressing [I #588](https://github.com/randym/axlsx/issues/588) in the old Axlsx repo.
30
+
31
+
32
+ - **December.7.20**: 3.0.3
33
+ - [PR #62](https://github.com/caxlsx/caxlsx/pull/62) - Fix edge cases in format detection for objects whose string representation made them look like numbers but the object didn’t respond to `#to_i` or `#to_f`.
34
+ - [PR #56](https://github.com/caxlsx/caxlsx/pull/56) - Add `zip_command` option to `#serialize` for faster serialization of large Excel files by using a zip binary
35
+ - [PR #54](https://github.com/caxlsx/caxlsx/pull/54) - Fix type detection for floats with out-of-rage exponents
36
+ - [I #67](https://github.com/caxlsx/caxlsx/issues/67) - Fix regression in worksheet name length enforcement: Some unicode characters were counted incorrectly, so that names that previously worked fine now stopped working. (This was introduced in 3.0.2)
37
+
38
+ - **July.16.20**: 3.0.2
39
+ - [I #51](https://github.com/caxlsx/caxlsx/issues/51) - Images do not import on Windows. IO read set explicitly to binary mode.
40
+ - [PR #53](https://github.com/caxlsx/caxlsx/pull/53) - Limit column width to 255. Maximum column width limit in MS Excel is 255 characters, see https://support.microsoft.com/en-us/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3
41
+ - [PR #44](https://github.com/caxlsx/caxlsx/pull/44) - Improve cell autowidth calculations. Previously columns with undefined/auto width would tend to be just slightly too small for the content. This is because certain letters were being excluded from the width calculation because they were deemed not wide enough. We now treat all characters as equal width which helps ensure columns auto-widths are actually large enough for the content. This will gain us a very slight performance improvement because of we are no longer searching the string for specific characters.
42
+
43
+ - **October.4.19**: 3.0.1
44
+ - Support for ruby versions limited to officially supported version (Ruby v2.3+)
45
+ - Updates to dependency gems, especially nokogiri and ruby-zip
46
+ - Fix Relationship.instances cache
47
+ - Autoload fix for Rails
48
+
49
+ - **October.4.19**: 2.0.2
50
+ - Released as caxlsx, fork of axlsx
51
+ - Update ruby-zip dependency (fixes https://github.com/randym/axlsx/issues/536)
52
+
53
+ - **September.17.19**: 3.0.0
54
+ - First release of caxlsx, fork of axlsx
55
+
56
+ - **April.1.17**: 3.0.0-pre
57
+ - Support for ruby versions limited to officially supported version
58
+ - Updates to dependency gems, especially nokogiri and ruby-zip
59
+ - Patch options parsing for two cell anchor
60
+ - Remove support for depreciated worksheet members
61
+ - Added Cell#name so you you can quickly create a defined name for a single cell in your workbook.
62
+ - Added full book view and sheet state management. This means you can specify how the workbook renders as well as manage sheet visibility.
63
+ - Added smoothing management for line charts series
64
+
65
+ - **September.12.13**: 2.0.1
66
+ - Unpinned rubyzip version
67
+
68
+ - **September.12.13**: 2.0.0
69
+ - DROPPED support for ruby 1.8.7
70
+ - Altered readme to link to contributors
71
+ - Lots of improvements to make charts and relations more stable.
72
+ - Patched color param mutation.
73
+ - Data sourced for pivot tables can now come from other sheets.
74
+ - Altered image file extension comparisons to be case insensitive.
75
+ - Added control character sanitization to shared strings.
76
+ - Added page breaks. see examples/example.rb for an example.
77
+ - Bugfix: single to dual cell anchors for images now swap properly so you can set the end_at position during instantiation, in a block or directly on the image.
78
+ - Improved how we convert date/time to include the UTC offset when provided.
79
+ - Pinned rubyzip to 0.9.9 for those who are not ready to go up. Please note that release 2.0.1 and on will be using the 1.n.n series of rubyzip
80
+ - Bugfix: transposition of cells for Worksheet#cols now supports
81
+ incongruent column counts.counts
82
+ - Added space preservation for cell text. This will allow whitespace
83
+ in cell text both when using shared strings and when serializing
84
+ directly to the cell.
85
+
86
+ - **April.24.13**: 1.3.6
87
+ - Fixed LibreOffice/OpenOffice issue to properly apply colors to lines
88
+ in charts.
89
+ - Added support for specifying between/notBetween formula in an array.
90
+ *thanks* straydogstudio!
91
+ - Added standard line chart support. *thanks* scambra
92
+ - Fixed straydogstudio's link in the README. *thanks* nogara!
93
+
94
+ - **February.4.13**: 1.3.5
95
+ - converted vary_colors for chart data to instance variable with appropriate defulats for the various charts.
96
+ - Added trust_input method on Axlsx to instruct the serializer to skip HTML escaping. This will give you a tremendous performance boost,
97
+ Please be sure that you will never have <, >, etc in your content or the XML will be invalid.
98
+ - Rewrote cell serialization to improve performance
99
+ - Added iso_8601 type to support text based date and time management.
100
+ - Bug fix for relationship management in drawings when you add images
101
+ and charts to the same worksheet drawing.
102
+ - Added outline_level_rows and outline_level_columns to worksheet to simplify setting up outlining in the worksheet.
103
+ - Added support for pivot tables
104
+ - Added support for descrete border edge styles
105
+ - Improved validation of sheet names
106
+ - Added support for formula value caching so that iOS and OSX preview can show the proper values. See Cell.add_row and the formula_values option.
107
+
108
+ - **November.25.12**: 1.3.4
109
+ - Support for headers and footers for worksheets
110
+ - bug fix: Properly escape hyperlink urls
111
+ - Improvements in color_scale generation for conditional formatting
112
+ - Improvements in autowidth calculation.
113
+
114
+ - **November.8.12**: 1.3.3
115
+ - Patched cell run styles for u and validation for family
116
+
117
+ - **November.5.12**: 1.3.2
118
+ - MASSIVE REFACTORING
119
+ - Patch for apostrophes in worksheet names
120
+ - added sheet_by_name for workbook so you can now find your worksheets
121
+ by name
122
+ - added insert_worksheet so you can now add a worksheet to an
123
+ arbitrary position in the worksheets list.
124
+ - reduced memory consumption for package parts post serialization
125
+
126
+ - **September.30.12**: 1.3.1
127
+ - Improved control character handling
128
+ - Added stored auto filter values and date grouping items
129
+ - Improved support for autowidth when custom styles are applied
130
+ - Added support for table style info that lets you take advantage of
131
+ all the predefined table styles.
132
+ - Improved style management for fonts so they merge undefined values
133
+ from the initial master.
134
+
135
+ - **September.8.12**: 1.2.3
136
+ - enhance exponential float/bigdecimal values rendering as strings intead
137
+ of 'numbers' in excel.
138
+ - added support for :none option on chart axis labels
139
+ - added support for paper_size option on worksheet.page_setup
140
+
141
+ - **August.27.12**: 1.2.2
142
+ - minor patch for auto-filters
143
+ - minor documentation improvements.
144
+
145
+ - **August.12.12**: 1.2.1
146
+ - Add support for hyperlinks in worksheets
147
+ - Fix example that was using old style cell merging with concact.
148
+ - Fix bug that occurs when calculating the font_size for cells that use a user specified style which does not define sz
149
+
150
+ - **August.5.12**: 1.2.0
151
+ - rebuilt worksheet serialization to clean up the code base a bit.
152
+ - added data labels for charts
153
+ - added table header printing for each sheet via defined_name. This
154
+ means that when you print your worksheet, the header rows show for every page
155
+
156
+ - **July.??.12**: 1.1.9
157
+ - lots of code clean up for worksheet
158
+ - added in data labels for pie charts, line charts and bar charts.
159
+ - bugfix chard with data in a sheet that has a space in the name are
160
+ now auto updating formula based values
161
+
162
+ - **July.14.12**: 1.1.8
163
+ - added html entity encoding for sheet names. This allows you to use
164
+ characters like '<' and '&' in your sheet names.
165
+ - new - first round google docs interoperability
166
+ - added filter to strip out control characters from cell data.
167
+ - added in interop requirements so that charts are properly exported
168
+ to PDF from Libra Office
169
+ - various readability improvements and work standardizing attribute
170
+ names to snake_case. Aliases are provided for backward compatiblity
171
+
172
+ - **June.11.12**: 1.1.7
173
+ - fix chart rendering issue when label offset is specified as a
174
+ percentage in serialization and ensure that formula are not stored
175
+ in value caches
176
+ - fix bug that causes repair warnings when using a text only title reference.
177
+ - Add title property to axis so you can lable the x/y/series axis for
178
+ charts.
179
+ - Add sheet views with panes
180
+
181
+ - **May.30.12**: 1.1.6
182
+ - data protection with passwords for sheets
183
+ - cell level input validators
184
+ - added support for two cell anchors for images
185
+ - test coverage now back up to 100%
186
+ - bugfix for merge cell sorting algorithm
187
+ - added fit_to method for page_setup to simplify managing witdh/height
188
+ - added ph (phonetics) and s (style) attributes for row.
189
+ - resolved all warnings generating from this gem.
190
+ - improved comment relationship management for multiple comments
191
+
192
+ - **May.13.12**: 1.1.5
193
+ - MOAR print options! You can now specify paper size, orientation,
194
+ fit to width, page margings and gridlines for printing.
195
+ - Support for adding comments to your worksheets
196
+ - bugfix for applying style to empty cells
197
+ - bugfix for parsing formula with multiple '='
198
+
199
+ - **May.3.12:**: 1.1.4
200
+ - MOAR examples
201
+ - added outline level for rows and columns
202
+ - rebuild of numeric and axis data sources for charts
203
+ - added delete to axis
204
+ - added tick and label mark skipping for cat axis in charts
205
+ - bugfix for table headers method
206
+ - sane(er) defaults for chart positioning
207
+ - bugfix in val_axis_data to properly serialize value axis data. Excel does not mind as it reads from the sheet, but nokogiri has a fit if the elements are empty.
208
+ - Added support for specifying the color of data series in charts.
209
+ - bugfix using add_cell on row mismanaged calls to update_column_info.
210
+
211
+ - **April.25.12:**: 1.1.3
212
+ - Primarily because I am stupid.....Updates to readme to properly report version, add in missing docs and restructure example directory.
213
+
214
+ - **April.25.12:**: 1.1.2
215
+ - Conditional Formatting completely implemented.
216
+ - refactoring / documentation for Style#add_style
217
+ - added in label rotation for chart axis labels
218
+ - bugfix to properly assign style and type info to cells when only partial information is provided in the types/style option
219
+
220
+ - **April.18.12**: 1.1.1
221
+ - bugfix for autowidth calculations across multiple rows
222
+ - bugfix for dimension calculations with nil cells.
223
+ - REMOVED RMAGICK dependency WOOT!
224
+ - Update readme to show screenshot of gem output.
225
+ - Cleanup benchmark and add benchmark rake task
226
+
227
+ - **April.3.12**: 1.1.0
228
+ - bugfix patch name_to_indecies to properly handle extended ranges.
229
+ - bugfix properly serialize chart title.
230
+ - lower rake minimum requirement for 1.8.7 apps that don't want to move on to 0.9 NOTE this will be reverted for 2.0.0 with workbook parsing!
231
+ - Added Fit to Page printing
232
+ - added support for turning off gridlines in charts.
233
+ - added support for turning off gridlines in worksheet.
234
+ - bugfix some apps like libraoffice require apply[x] attributes to be true. applyAlignment is now properly set.
235
+ - added option use_autowidth. When this is false RMagick will not be loaded or used in the stack. However it is still a requirement in the gem.
236
+ - added border style specification to styles#add_style. See the example in the readme.
237
+ - Support for tables added in - Note: Pre 2011 versions of Mac office do not support this feature and will warn.
238
+ - Support for splatter charts added
239
+ - Major (like 7x faster!) performance updates.
240
+ - Gem now supports for JRuby 1.6.7, as well as experimental support for Rubinius
241
+
242
+ - **March.5.12**: 1.0.18
243
+ https://github.com/randym/axlsx/compare/1.0.17...1.0.18
244
+ - bugfix custom borders are not properly applied when using styles.add_style
245
+ - interop worksheet names must be 31 characters or less or some versions of office complain about repairs
246
+ - added type support for :boolean and :date types cell values
247
+ - added support for fixed column widths
248
+ - added support for page_margins
249
+ - added << alias for add_row
250
+ - removed presetting of date1904 based on authoring platform. Now defaults to use 1900 epoch (date1904 = false)
251
+
252
+ - **February.14.12**: 1.0.17
253
+ https://github.com/randym/axlsx/compare/1.0.16...1.0.17
254
+ - Added in support for serializing to StringIO
255
+ - Added in support for using shared strings table. This makes most of the features in axlsx interoperable with iWorks Numbers
256
+ - Added in support for fixed column_widths
257
+ - Removed unneeded dependencies on active-support and i18n
258
+
259
+ - **February.2.12**: 1.0.16
260
+ https://github.com/randym/axlsx/compare/1.0.15...1.0.16
261
+ - Bug fix for schema file locations when validating in rails
262
+ - Added hyperlink to images
263
+ - date1904 now automatically set in BSD and mac environments
264
+ - removed whitespace/indentation from xml outputs
265
+ - col_style now skips rows that do not contain cells at the column index
266
+
267
+ - **January.6.12**: 1.0.15
268
+ https://github.com/randym/axlsx/compare/1.0.14...1.0.15
269
+ - Bug fix add_style specified number formats must be explicity applied for libraOffice
270
+ - performance improvements from ochko when creating cells with options.
271
+ - Bug fix setting types=>[:n] when adding a row incorrectly determines the cell type to be string as the value is null during creation.
272
+ - Release in preparation for password protection merge
273
+
274
+ - **December.14.11**: 1.0.14
275
+ - Added support for merging cells
276
+ - Added support for auto filters
277
+ - Improved auto width calculations
278
+ - Improved charts
279
+ - Updated examples to output to a single workbook with multiple sheets
280
+ - Added access to app and core package objects so you can set the creator and other properties of the package
281
+ - The beginning of password protected xlsx files - roadmapped for January release.
282
+
283
+ - **December.8.11**: 1.0.13
284
+ - Fixing .gemspec errors that caused gem to miss the lib directory. Sorry about that.
285
+
286
+ - **December.7.11**: 1.0.12
287
+ DO NOT USE THIS VERSION = THE GEM IS BROKEN
288
+ - changed dependency from 'zip' gem to 'rubyzip' and added conditional code to force binary encoding to resolve issue with excel 2011
289
+ - Patched bug in app.xml that would ignore user specified properties.
290
+ - **December.5.11**: 1.0.11
291
+ - Added [] methods to worksheet and workbook to provide name based access to cells.
292
+ - Added support for functions as cell values
293
+ - Updated color creation so that two character shorthand values can be used like 'FF' for 'FFFFFFFF' or 'D8' for 'FFD8D8D8'
294
+ - Examples for all this fun stuff added to the readme
295
+ - Clean up and support for 1.9.2 and travis integration
296
+ - Added support for string based cell referencing to chart start_at and end_at. That means you can now use :start_at=>"A1" when using worksheet.add_chart, or chart.start_at ="A1" in addition to passing a cell or the x, y coordinates.
297
+
298
+ - **October.30.11**: 1.0.10
299
+ - Updating gemspec to lower gem version requirements.
300
+ - Added row.style assignation for updating the cell style for an entire row
301
+ - Added col_style method to worksheet upate a the style for a column of cells
302
+ - Added cols for an easy reference to columns in a worksheet.
303
+ - prep for pre release of acts_as_xlsx gem
304
+ - added in travis.ci configuration and build status
305
+ - fixed out of range bug in time calculations for 32bit time.
306
+ - added i18n for active support
307
+
308
+ - **October.26.11**: 1.0.9
309
+ - Updated to support ruby 1.9.3
310
+ - Updated to eliminate all warnings originating in this gem
311
+
312
+ - **October.23.11**: 1.0.8
313
+ - Added support for images (jpg, gif, png) in worksheets.
314
+
315
+ - **October.23.11**: 1.0.7 released
316
+ - Added support for 3D options when creating a new chart. This lets you set the persective, rotation and other 3D attributes when using worksheet.add_chart
317
+ - Updated serialization write test to verify write permissions and warn if it cannot run the test due to permission restrcitions.
318
+ - updated rake to include build, genoc and deploy tasks.
319
+ - rebuilt documentation.
320
+ - moved version constant to its own file
321
+ - fixed bug in SerAxis that was requiring tickLblSkip and tickMarkSkip to be boolean. Should be unsigned int.
322
+ - Review and improve docs
323
+ - rebuild of anchor positioning to remove some spagetti code. Chart now supports a start_at and end_at method that accept an arrar for col/row positioning. See example6 for an example. You can still pass :start_at and :end_at options to worksheet.add_chart.
324
+ - Refactored cat and val axis data to keep series serialization a bit more DRY
325
+
326
+ - **October.22.11**: 1.0.6
327
+ - Bumping version to include docs. Bug in gemspec pointing to incorrect directory.
328
+
329
+ - **October.22.11**: 1.05
330
+ - Added support for line charts
331
+ - Updated examples and readme
332
+ - Updated series title to be a real title ** NOTE ** If you are accessing titles directly you will need to update text assignation.
333
+ chart.series.first.title = 'Your Title'
334
+ chart.series.first.title.text = 'Your Title'
335
+ With this change you can assign a cell for the series title
336
+ chart.series.title = sheet.rows.first.cells.first
337
+ If you are using the recommended
338
+ chart.add_series :data=>[], :labels=>[], :title
339
+ You do not have to change anything.
340
+ - BugFix: shape attribute for bar chart is now properly serialized
341
+ - BugFix: date1904 property now properly set for charts
342
+ - Added style property to charts
343
+ - Removed serialization write test as it most commonly fails when run from the gem's intalled directory
344
+
345
+ - **October.21.11**: 1.0.4
346
+ - altered package to accept a filename string for serialization instead of a File object.
347
+ - Updated specs to conform
348
+ - More examples for readme
349
+
350
+
351
+ - **October.21.11**: 1.0.3
352
+ - Updated documentation
353
+
354
+ - **October.20.11**: 0.1.0