caxlsx 3.0.4 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/.yardopts_guide +18 -18
  4. data/CHANGELOG.md +354 -334
  5. data/LICENSE +21 -21
  6. data/README.md +168 -170
  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 -151
  21. data/lib/axlsx/drawing/bar_chart.rb +138 -143
  22. data/lib/axlsx/drawing/bar_series.rb +97 -80
  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 -363
  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 -289
  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 -162
  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 -764
  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 -170
  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 -71
  186. data/test/drawing/tc_bar_chart.rb +86 -71
  187. data/test/drawing/tc_bar_series.rb +46 -37
  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 -12
  247. data/test/tc_package.rb +317 -264
  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 -135
  278. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +62 -54
  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 -139
  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 -67
  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 +11 -11
@@ -1,401 +1,410 @@
1
- module Axlsx
2
-
3
- # XML Encoding
4
- ENCODING = "UTF-8".freeze
5
-
6
- # spreadsheetML namespace
7
- XML_NS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main".freeze
8
-
9
- # content-types namespace
10
- XML_NS_T = "http://schemas.openxmlformats.org/package/2006/content-types".freeze
11
-
12
- # extended-properties namespace
13
- APP_NS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties".freeze
14
-
15
- # doc props namespace
16
- APP_NS_VT = "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes".freeze
17
-
18
- # core properties namespace
19
- CORE_NS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties".freeze
20
-
21
- # dc elements (core) namespace
22
- CORE_NS_DC = "http://purl.org/dc/elements/1.1/".freeze
23
-
24
- # dcmit (core) namespcace
25
- CORE_NS_DCMIT = "http://purl.org/dc/dcmitype/".freeze
26
-
27
- # dc terms namespace
28
- CORE_NS_DCT = "http://purl.org/dc/terms/".freeze
29
-
30
- # xml schema namespace
31
- CORE_NS_XSI = "http://www.w3.org/2001/XMLSchema-instance".freeze
32
-
33
- # Digital signature namespace
34
- DIGITAL_SIGNATURE_NS = "http://schemas.openxmlformats.org/package/2006/digital-signature".freeze
35
-
36
- # spreadsheet drawing namespace
37
- XML_NS_XDR = "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing".freeze
38
-
39
- # drawing namespace
40
- XML_NS_A = "http://schemas.openxmlformats.org/drawingml/2006/main".freeze
41
-
42
- # chart namespace
43
- XML_NS_C = "http://schemas.openxmlformats.org/drawingml/2006/chart".freeze
44
-
45
- # relationships namespace
46
- XML_NS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships".freeze
47
-
48
- # relationships name space
49
- RELS_R = "http://schemas.openxmlformats.org/package/2006/relationships".freeze
50
-
51
- # table rels namespace
52
- TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table".freeze
53
-
54
- # pivot table rels namespace
55
- PIVOT_TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable".freeze
56
-
57
- # pivot table cache definition namespace
58
- PIVOT_TABLE_CACHE_DEFINITION_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition".freeze
59
-
60
- # workbook rels namespace
61
- WORKBOOK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument".freeze
62
-
63
- # worksheet rels namespace
64
- WORKSHEET_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet".freeze
65
-
66
- # app rels namespace
67
- APP_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties".freeze
68
-
69
- # core rels namespace
70
- CORE_R = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties".freeze
71
-
72
- # digital signature rels namespace
73
- DIGITAL_SIGNATURE_R = "http://schemas.openxmlformats.org/package/2006/relationships/digital- signature/signature".freeze
74
-
75
- # styles rels namespace
76
- STYLES_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles".freeze
77
-
78
- # shared strings namespace
79
- SHARED_STRINGS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings".freeze
80
-
81
- # drawing rels namespace
82
- DRAWING_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing".freeze
83
-
84
- # chart rels namespace
85
- CHART_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart".freeze
86
-
87
- # image rels namespace
88
- IMAGE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image".freeze
89
-
90
- # hyperlink rels namespace
91
- HYPERLINK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink".freeze
92
-
93
- # comment rels namespace
94
- COMMENT_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments".freeze
95
-
96
- # comment relation for nil target
97
- COMMENT_R_NULL = "http://purl.oclc.org/ooxml/officeDocument/relationships/comments".freeze
98
-
99
- #vml drawing relation namespace
100
- VML_DRAWING_R = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing'
101
-
102
- # VML Drawing content type
103
- VML_DRAWING_CT = "application/vnd.openxmlformats-officedocument.vmlDrawing".freeze
104
-
105
- # table content type
106
- TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml".freeze
107
-
108
- # pivot table content type
109
- PIVOT_TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml".freeze
110
-
111
- # pivot table cache definition content type
112
- PIVOT_TABLE_CACHE_DEFINITION_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml".freeze
113
-
114
- # workbook content type
115
- WORKBOOK_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml".freeze
116
-
117
- # app content type
118
- APP_CT = "application/vnd.openxmlformats-officedocument.extended-properties+xml".freeze
119
-
120
- # rels content type
121
- RELS_CT = "application/vnd.openxmlformats-package.relationships+xml".freeze
122
-
123
- # styles content type
124
- STYLES_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml".freeze
125
-
126
- # xml content type
127
- XML_CT = "application/xml".freeze
128
-
129
- # worksheet content type
130
- WORKSHEET_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml".freeze
131
-
132
- # shared strings content type
133
- SHARED_STRINGS_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml".freeze
134
-
135
- # core content type
136
- CORE_CT = "application/vnd.openxmlformats-package.core-properties+xml".freeze
137
-
138
- # digital signature xml content type
139
- DIGITAL_SIGNATURE_XML_CT = "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml".freeze
140
-
141
- # digital signature origin content type
142
- DIGITAL_SIGNATURE_ORIGIN_CT = "application/vnd.openxmlformats-package.digital-signature-origin".freeze
143
-
144
- # digital signature certificate content type
145
- DIGITAL_SIGNATURE_CERTIFICATE_CT = "application/vnd.openxmlformats-package.digital-signature-certificate".freeze
146
-
147
- # chart content type
148
- CHART_CT = "application/vnd.openxmlformats-officedocument.drawingml.chart+xml".freeze
149
-
150
- # comments content type
151
- COMMENT_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml".freeze
152
-
153
- # jpeg content type
154
- JPEG_CT = "image/jpeg".freeze
155
-
156
- # gif content type
157
- GIF_CT = "image/gif".freeze
158
-
159
- # png content type
160
- PNG_CT = "image/png".freeze
161
-
162
- #drawing content type
163
- DRAWING_CT = "application/vnd.openxmlformats-officedocument.drawing+xml".freeze
164
-
165
-
166
- # xml content type extensions
167
- XML_EX = "xml".freeze
168
-
169
- # jpeg extension
170
- JPEG_EX = "jpeg".freeze
171
-
172
- # gif extension
173
- GIF_EX = "gif".freeze
174
-
175
- # png extension
176
- PNG_EX = "png".freeze
177
-
178
- # rels content type extension
179
- RELS_EX = "rels".freeze
180
-
181
- # workbook part
182
- WORKBOOK_PN = "xl/workbook.xml".freeze
183
-
184
- # styles part
185
- STYLES_PN = "styles.xml".freeze
186
-
187
- # shared_strings part
188
- SHARED_STRINGS_PN = "sharedStrings.xml".freeze
189
-
190
- # app part
191
- APP_PN = "docProps/app.xml".freeze
192
-
193
- # core part
194
- CORE_PN = "docProps/core.xml".freeze
195
-
196
- # content types part
197
- CONTENT_TYPES_PN = "[Content_Types].xml".freeze
198
-
199
- # rels part
200
- RELS_PN = "_rels/.rels".freeze
201
-
202
- # workbook rels part
203
- WORKBOOK_RELS_PN = "xl/_rels/workbook.xml.rels".freeze
204
-
205
- # worksheet part
206
- WORKSHEET_PN = "worksheets/sheet%d.xml".freeze
207
-
208
- # worksheet rels part
209
- WORKSHEET_RELS_PN = "worksheets/_rels/sheet%d.xml.rels".freeze
210
-
211
- # drawing part
212
- DRAWING_PN = "drawings/drawing%d.xml".freeze
213
-
214
- # drawing rels part
215
- DRAWING_RELS_PN = "drawings/_rels/drawing%d.xml.rels".freeze
216
-
217
- # vml drawing part
218
- VML_DRAWING_PN = "drawings/vmlDrawing%d.vml".freeze
219
-
220
- # drawing part
221
- TABLE_PN = "tables/table%d.xml".freeze
222
-
223
- # pivot table parts
224
- PIVOT_TABLE_PN = "pivotTables/pivotTable%d.xml".freeze
225
-
226
- # pivot table cache definition part name
227
- PIVOT_TABLE_CACHE_DEFINITION_PN = "pivotCache/pivotCacheDefinition%d.xml".freeze
228
-
229
- # pivot table rels parts
230
- PIVOT_TABLE_RELS_PN = "pivotTables/_rels/pivotTable%d.xml.rels".freeze
231
-
232
- # chart part
233
- CHART_PN = "charts/chart%d.xml".freeze
234
-
235
- # chart part
236
- IMAGE_PN = "media/image%d.%s".freeze
237
-
238
- # comment part
239
- COMMENT_PN = "comments%d.xml".freeze
240
-
241
- # location of schema files for validation
242
- SCHEMA_BASE = (File.dirname(__FILE__)+'/../../schema/').freeze
243
-
244
- # App validation schema
245
- APP_XSD = (SCHEMA_BASE + "shared-documentPropertiesExtended.xsd").freeze
246
-
247
- # core validation schema
248
- CORE_XSD = (SCHEMA_BASE + "opc-coreProperties.xsd").freeze
249
-
250
- # content types validation schema
251
- CONTENT_TYPES_XSD = (SCHEMA_BASE + "opc-contentTypes.xsd").freeze
252
-
253
- # rels validation schema
254
- RELS_XSD = (SCHEMA_BASE + "opc-relationships.xsd").freeze
255
-
256
- # spreadsheetML validation schema
257
- SML_XSD = (SCHEMA_BASE + "sml.xsd").freeze
258
-
259
- # drawing validation schema
260
- DRAWING_XSD = (SCHEMA_BASE + "dml-spreadsheetDrawing.xsd").freeze
261
-
262
- # number format id for pecentage formatting using the default formatting id.
263
- NUM_FMT_PERCENT = 9
264
-
265
- # number format id for date format like 2011/11/13
266
- NUM_FMT_YYYYMMDD = 100
267
-
268
- # number format id for time format the creates 2011/11/13 12:23:10
269
- NUM_FMT_YYYYMMDDHHMMSS = 101
270
-
271
- # cellXfs id for thin borders around the cell
272
- STYLE_THIN_BORDER = 1
273
-
274
- # cellXfs id for default date styling
275
- STYLE_DATE = 2
276
-
277
- # error messages RestrictionValidor
278
- ERR_RESTRICTION = "Invalid Data: %s. %s must be one of %s.".freeze
279
-
280
- # error message DataTypeValidator
281
- ERR_TYPE = "Invalid Data %s for %s. must be %s.".freeze
282
-
283
- # error message for RegexValidator
284
- ERR_REGEX = "Invalid Data. %s does not match %s.".freeze
285
-
286
- # error message for RangeValidator
287
- ERR_RANGE = "Invalid Data. %s must be between %s and %s, (inclusive:%s) you gave: %s".freeze
288
-
289
- # error message for sheets that use a name which is longer than 31 bytes
290
- ERR_SHEET_NAME_TOO_LONG = "Your worksheet name '%s' is too long. Worksheet names must be 31 characters (bytes) or less".freeze
291
-
292
- # error message for sheets that use a name which include invalid characters
293
- ERR_SHEET_NAME_CHARACTER_FORBIDDEN = "Your worksheet name '%s' contains a character which is not allowed by MS Excel and will cause repair warnings. Please change the name of your sheet.".freeze
294
-
295
- # error message for duplicate sheet names
296
- ERR_DUPLICATE_SHEET_NAME = "There is already a worksheet in this workbook named '%s'. Please use a unique name".freeze
297
-
298
- # error message when user does not provide color and or style options for border in Style#add_sytle
299
- ERR_INVALID_BORDER_OPTIONS = "border hash must include both style and color. e.g. :border => { :color => 'FF000000', :style => :thin }. You provided: %s".freeze
300
-
301
- # error message for invalid border id reference
302
- ERR_INVALID_BORDER_ID = "The border id you specified (%s) does not exist. Please add a border with Style#add_style before referencing its index.".freeze
303
-
304
- # error message for invalid angles
305
- ERR_ANGLE = "Angles must be a value between -90 and 90. You provided: %s".freeze
306
-
307
- # error message for non 'integerish' value
308
- ERR_INTEGERISH = "You value must be, or be castable via to_i, an Integer. You provided %s".freeze
309
-
310
- # Regex to match forbidden control characters
311
- # The following will be automatically stripped from worksheets.
312
- #
313
- # x00 Null
314
- # x01 Start Of Heading
315
- # x02 Start Of Text
316
- # x03End Of Text
317
- # x04 End Of Transmission
318
- # x05 Enquiry
319
- # x06 Acknowledge
320
- # x07 Bell
321
- # x08 Backspace
322
- # x0B Line Tabulation
323
- # x0C Form Feed
324
- # x0E Shift Out
325
- # x0F Shift In
326
- # x10 Data Link Escape
327
- # x11 Device Control One
328
- # x12 Device Control Two
329
- # x13 Device Control Three
330
- # x14 Device Control Four
331
- # x15 Negative Acknowledge
332
- # x16 Synchronous Idle
333
- # x17 End Of Transmission Block
334
- # x18 Cancel
335
- # x19 End Of Medium
336
- # x1A Substitute
337
- # x1B Escape
338
- # x1C Information Separator Four
339
- # x1D Information Separator Three
340
- # x1E Information Separator Two
341
- # x1F Information Separator One
342
- #
343
- # The following are not dealt with.
344
- # If you have this in your data, expect excel to blow up!
345
- #
346
- # x7F Delete
347
- # x80 Control 0080
348
- # x81 Control 0081
349
- # x82 Break Permitted Here
350
- # x83 No Break Here
351
- # x84 Control 0084
352
- # x85 Next Line (Nel)
353
- # x86 Start Of Selected Area
354
- # x87 End Of Selected Area
355
- # x88 Character Tabulation Set
356
- # x89 Character Tabulation With Justification
357
- # x8A Line Tabulation Set
358
- # x8B Partial Line Forward
359
- # x8C Partial Line Backward
360
- # x8D Reverse Line Feed
361
- # x8E Single Shift Two
362
- # x8F Single Shift Three
363
- # x90 Device Control String
364
- # x91 Private Use One
365
- # x92 Private Use Two
366
- # x93 Set Transmit State
367
- # x94 Cancel Character
368
- # x95 Message Waiting
369
- # x96 Start Of Guarded Area
370
- # x97 End Of Guarded Area
371
- # x98 Start Of String
372
- # x99 Control 0099
373
- # x9A Single Character Introducer
374
- # x9B Control Sequence Introducer
375
- # x9C String Terminator
376
- # x9D Operating System Command
377
- # x9E Privacy Message
378
- # x9F Application Program Command
379
- #
380
- # The following are allowed:
381
- #
382
- # x0A Line Feed (Lf)
383
- # x0D Carriage Return (Cr)
384
- # x09 Character Tabulation
385
- # @see http://www.codetable.net/asciikeycodes
386
- pattern = "\x0-\x08\x0B\x0C\x0E-\x1F"
387
- pattern = pattern.respond_to?(:encode) ? pattern.encode('UTF-8') : pattern
388
-
389
- # The regular expression used to remove control characters from worksheets
390
- CONTROL_CHARS = pattern.freeze
391
-
392
- # ISO 8601 date recognition
393
- ISO_8601_REGEX = /\A(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\.[0-9]+)?(Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?\Z/.freeze
394
-
395
- # FLOAT recognition
396
- SAFE_FLOAT_REGEX = /\A[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]{1,2})?\Z/.freeze
397
- MAYBE_FLOAT_REGEX = /\A[-+]?[0-9]*\.?[0-9]+[eE](?<exp>[-+]?[0-9]{3})\Z/.freeze
398
-
399
- # Numeric recognition
400
- NUMERIC_REGEX = /\A[+-]?\d+?\Z/.freeze
401
- end
1
+ module Axlsx
2
+
3
+ # XML Encoding
4
+ ENCODING = "UTF-8".freeze
5
+
6
+ # spreadsheetML namespace
7
+ XML_NS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main".freeze
8
+
9
+ # content-types namespace
10
+ XML_NS_T = "http://schemas.openxmlformats.org/package/2006/content-types".freeze
11
+
12
+ # extended-properties namespace
13
+ APP_NS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties".freeze
14
+
15
+ # doc props namespace
16
+ APP_NS_VT = "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes".freeze
17
+
18
+ # core properties namespace
19
+ CORE_NS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties".freeze
20
+
21
+ # dc elements (core) namespace
22
+ CORE_NS_DC = "http://purl.org/dc/elements/1.1/".freeze
23
+
24
+ # dcmit (core) namespcace
25
+ CORE_NS_DCMIT = "http://purl.org/dc/dcmitype/".freeze
26
+
27
+ # dc terms namespace
28
+ CORE_NS_DCT = "http://purl.org/dc/terms/".freeze
29
+
30
+ # xml schema namespace
31
+ CORE_NS_XSI = "http://www.w3.org/2001/XMLSchema-instance".freeze
32
+
33
+ # Digital signature namespace
34
+ DIGITAL_SIGNATURE_NS = "http://schemas.openxmlformats.org/package/2006/digital-signature".freeze
35
+
36
+ # spreadsheet drawing namespace
37
+ XML_NS_XDR = "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing".freeze
38
+
39
+ # drawing namespace
40
+ XML_NS_A = "http://schemas.openxmlformats.org/drawingml/2006/main".freeze
41
+
42
+ # chart namespace
43
+ XML_NS_C = "http://schemas.openxmlformats.org/drawingml/2006/chart".freeze
44
+
45
+ # relationships namespace
46
+ XML_NS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships".freeze
47
+
48
+ # relationships name space
49
+ RELS_R = "http://schemas.openxmlformats.org/package/2006/relationships".freeze
50
+
51
+ # table rels namespace
52
+ TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table".freeze
53
+
54
+ # pivot table rels namespace
55
+ PIVOT_TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable".freeze
56
+
57
+ # pivot table cache definition namespace
58
+ PIVOT_TABLE_CACHE_DEFINITION_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition".freeze
59
+
60
+ # workbook rels namespace
61
+ WORKBOOK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument".freeze
62
+
63
+ # worksheet rels namespace
64
+ WORKSHEET_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet".freeze
65
+
66
+ # app rels namespace
67
+ APP_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties".freeze
68
+
69
+ # core rels namespace
70
+ CORE_R = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties".freeze
71
+
72
+ # digital signature rels namespace
73
+ DIGITAL_SIGNATURE_R = "http://schemas.openxmlformats.org/package/2006/relationships/digital- signature/signature".freeze
74
+
75
+ # styles rels namespace
76
+ STYLES_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles".freeze
77
+
78
+ # shared strings namespace
79
+ SHARED_STRINGS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings".freeze
80
+
81
+ # drawing rels namespace
82
+ DRAWING_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing".freeze
83
+
84
+ # chart rels namespace
85
+ CHART_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart".freeze
86
+
87
+ # image rels namespace
88
+ IMAGE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image".freeze
89
+
90
+ # hyperlink rels namespace
91
+ HYPERLINK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink".freeze
92
+
93
+ # comment rels namespace
94
+ COMMENT_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments".freeze
95
+
96
+ # comment relation for nil target
97
+ COMMENT_R_NULL = "http://purl.oclc.org/ooxml/officeDocument/relationships/comments".freeze
98
+
99
+ #vml drawing relation namespace
100
+ VML_DRAWING_R = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing'
101
+
102
+ # VML Drawing content type
103
+ VML_DRAWING_CT = "application/vnd.openxmlformats-officedocument.vmlDrawing".freeze
104
+
105
+ # table content type
106
+ TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml".freeze
107
+
108
+ # pivot table content type
109
+ PIVOT_TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml".freeze
110
+
111
+ # pivot table cache definition content type
112
+ PIVOT_TABLE_CACHE_DEFINITION_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml".freeze
113
+
114
+ # workbook content type
115
+ WORKBOOK_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml".freeze
116
+
117
+ # app content type
118
+ APP_CT = "application/vnd.openxmlformats-officedocument.extended-properties+xml".freeze
119
+
120
+ # rels content type
121
+ RELS_CT = "application/vnd.openxmlformats-package.relationships+xml".freeze
122
+
123
+ # styles content type
124
+ STYLES_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml".freeze
125
+
126
+ # xml content type
127
+ XML_CT = "application/xml".freeze
128
+
129
+ # worksheet content type
130
+ WORKSHEET_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml".freeze
131
+
132
+ # shared strings content type
133
+ SHARED_STRINGS_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml".freeze
134
+
135
+ # core content type
136
+ CORE_CT = "application/vnd.openxmlformats-package.core-properties+xml".freeze
137
+
138
+ # digital signature xml content type
139
+ DIGITAL_SIGNATURE_XML_CT = "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml".freeze
140
+
141
+ # digital signature origin content type
142
+ DIGITAL_SIGNATURE_ORIGIN_CT = "application/vnd.openxmlformats-package.digital-signature-origin".freeze
143
+
144
+ # digital signature certificate content type
145
+ DIGITAL_SIGNATURE_CERTIFICATE_CT = "application/vnd.openxmlformats-package.digital-signature-certificate".freeze
146
+
147
+ # chart content type
148
+ CHART_CT = "application/vnd.openxmlformats-officedocument.drawingml.chart+xml".freeze
149
+
150
+ # comments content type
151
+ COMMENT_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml".freeze
152
+
153
+ # jpeg content type
154
+ JPEG_CT = "image/jpeg".freeze
155
+
156
+ # gif content type
157
+ GIF_CT = "image/gif".freeze
158
+
159
+ # png content type
160
+ PNG_CT = "image/png".freeze
161
+
162
+ #drawing content type
163
+ DRAWING_CT = "application/vnd.openxmlformats-officedocument.drawing+xml".freeze
164
+
165
+
166
+ # xml content type extensions
167
+ XML_EX = "xml".freeze
168
+
169
+ # jpeg extension
170
+ JPEG_EX = "jpeg".freeze
171
+
172
+ # gif extension
173
+ GIF_EX = "gif".freeze
174
+
175
+ # png extension
176
+ PNG_EX = "png".freeze
177
+
178
+ # rels content type extension
179
+ RELS_EX = "rels".freeze
180
+
181
+ # workbook part
182
+ WORKBOOK_PN = "xl/workbook.xml".freeze
183
+
184
+ # styles part
185
+ STYLES_PN = "styles.xml".freeze
186
+
187
+ # shared_strings part
188
+ SHARED_STRINGS_PN = "sharedStrings.xml".freeze
189
+
190
+ # app part
191
+ APP_PN = "docProps/app.xml".freeze
192
+
193
+ # core part
194
+ CORE_PN = "docProps/core.xml".freeze
195
+
196
+ # content types part
197
+ CONTENT_TYPES_PN = "[Content_Types].xml".freeze
198
+
199
+ # rels part
200
+ RELS_PN = "_rels/.rels".freeze
201
+
202
+ # workbook rels part
203
+ WORKBOOK_RELS_PN = "xl/_rels/workbook.xml.rels".freeze
204
+
205
+ # worksheet part
206
+ WORKSHEET_PN = "worksheets/sheet%d.xml".freeze
207
+
208
+ # worksheet rels part
209
+ WORKSHEET_RELS_PN = "worksheets/_rels/sheet%d.xml.rels".freeze
210
+
211
+ # drawing part
212
+ DRAWING_PN = "drawings/drawing%d.xml".freeze
213
+
214
+ # drawing rels part
215
+ DRAWING_RELS_PN = "drawings/_rels/drawing%d.xml.rels".freeze
216
+
217
+ # vml drawing part
218
+ VML_DRAWING_PN = "drawings/vmlDrawing%d.vml".freeze
219
+
220
+ # drawing part
221
+ TABLE_PN = "tables/table%d.xml".freeze
222
+
223
+ # pivot table parts
224
+ PIVOT_TABLE_PN = "pivotTables/pivotTable%d.xml".freeze
225
+
226
+ # pivot table cache definition part name
227
+ PIVOT_TABLE_CACHE_DEFINITION_PN = "pivotCache/pivotCacheDefinition%d.xml".freeze
228
+
229
+ # pivot table rels parts
230
+ PIVOT_TABLE_RELS_PN = "pivotTables/_rels/pivotTable%d.xml.rels".freeze
231
+
232
+ # chart part
233
+ CHART_PN = "charts/chart%d.xml".freeze
234
+
235
+ # chart part
236
+ IMAGE_PN = "media/image%d.%s".freeze
237
+
238
+ # comment part
239
+ COMMENT_PN = "comments%d.xml".freeze
240
+
241
+ # location of schema files for validation
242
+ SCHEMA_BASE = (File.dirname(__FILE__)+'/../../schema/').freeze
243
+
244
+ # App validation schema
245
+ APP_XSD = (SCHEMA_BASE + "shared-documentPropertiesExtended.xsd").freeze
246
+
247
+ # core validation schema
248
+ CORE_XSD = (SCHEMA_BASE + "opc-coreProperties.xsd").freeze
249
+
250
+ # content types validation schema
251
+ CONTENT_TYPES_XSD = (SCHEMA_BASE + "opc-contentTypes.xsd").freeze
252
+
253
+ # rels validation schema
254
+ RELS_XSD = (SCHEMA_BASE + "opc-relationships.xsd").freeze
255
+
256
+ # spreadsheetML validation schema
257
+ SML_XSD = (SCHEMA_BASE + "sml.xsd").freeze
258
+
259
+ # drawing validation schema
260
+ DRAWING_XSD = (SCHEMA_BASE + "dml-spreadsheetDrawing.xsd").freeze
261
+
262
+ # number format id for pecentage formatting using the default formatting id.
263
+ NUM_FMT_PERCENT = 9
264
+
265
+ # number format id for date format like 2011/11/13
266
+ NUM_FMT_YYYYMMDD = 100
267
+
268
+ # number format id for time format the creates 2011/11/13 12:23:10
269
+ NUM_FMT_YYYYMMDDHHMMSS = 101
270
+
271
+ # cellXfs id for thin borders around the cell
272
+ STYLE_THIN_BORDER = 1
273
+
274
+ # cellXfs id for default date styling
275
+ STYLE_DATE = 2
276
+
277
+ # error messages RestrictionValidor
278
+ ERR_RESTRICTION = "Invalid Data: %s. %s must be one of %s.".freeze
279
+
280
+ # error message DataTypeValidator
281
+ ERR_TYPE = "Invalid Data %s for %s. must be %s.".freeze
282
+
283
+ # error message for RegexValidator
284
+ ERR_REGEX = "Invalid Data. %s does not match %s.".freeze
285
+
286
+ # error message for RangeValidator
287
+ ERR_RANGE = "Invalid Data. %s must be between %s and %s, (inclusive:%s) you gave: %s".freeze
288
+
289
+ # error message for sheets that use explicit empty string name
290
+ ERR_SHEET_NAME_EMPTY = "Your worksheet name is empty. Worksheet name can't be empty. Please assign name of your sheet or don't use name option at all.".freeze
291
+
292
+ # error message for sheets that use a name which is longer than 31 bytes
293
+ ERR_SHEET_NAME_TOO_LONG = "Your worksheet name '%s' is too long. Worksheet names must be 31 characters (bytes) or less".freeze
294
+
295
+ # error message for sheets that use a name which include invalid characters
296
+ ERR_SHEET_NAME_CHARACTER_FORBIDDEN = "Your worksheet name '%s' contains a character which is not allowed by MS Excel and will cause repair warnings. Please change the name of your sheet.".freeze
297
+
298
+ # error message for duplicate sheet names
299
+ ERR_DUPLICATE_SHEET_NAME = "There is already a worksheet in this workbook named '%s'. Please use a unique name".freeze
300
+
301
+ # error message when user does not provide color and or style options for border in Style#add_sytle
302
+ ERR_INVALID_BORDER_OPTIONS = "border hash must include both style and color. e.g. :border => { :color => 'FF000000', :style => :thin }. You provided: %s".freeze
303
+
304
+ # error message for invalid border id reference
305
+ ERR_INVALID_BORDER_ID = "The border id you specified (%s) does not exist. Please add a border with Style#add_style before referencing its index.".freeze
306
+
307
+ # error message for invalid angles
308
+ ERR_ANGLE = "Angles must be a value between -90 and 90. You provided: %s".freeze
309
+
310
+ # error message for non 'integerish' value
311
+ ERR_INTEGERISH = "You value must be, or be castable via to_i, an Integer. You provided %s".freeze
312
+
313
+ # error message for invalid cell reference
314
+ ERR_CELL_REFERENCE_INVALID = "Invalid cell definition `%s`".freeze
315
+
316
+ # error message for cell reference with last cell missing
317
+ ERR_CELL_REFERENCE_MISSING_CELL = "Missing cell `%s` for the specified range `%s`".freeze
318
+
319
+ # Regex to match forbidden control characters
320
+ # The following will be automatically stripped from worksheets.
321
+ #
322
+ # x00 Null
323
+ # x01 Start Of Heading
324
+ # x02 Start Of Text
325
+ # x03End Of Text
326
+ # x04 End Of Transmission
327
+ # x05 Enquiry
328
+ # x06 Acknowledge
329
+ # x07 Bell
330
+ # x08 Backspace
331
+ # x0B Line Tabulation
332
+ # x0C Form Feed
333
+ # x0E Shift Out
334
+ # x0F Shift In
335
+ # x10 Data Link Escape
336
+ # x11 Device Control One
337
+ # x12 Device Control Two
338
+ # x13 Device Control Three
339
+ # x14 Device Control Four
340
+ # x15 Negative Acknowledge
341
+ # x16 Synchronous Idle
342
+ # x17 End Of Transmission Block
343
+ # x18 Cancel
344
+ # x19 End Of Medium
345
+ # x1A Substitute
346
+ # x1B Escape
347
+ # x1C Information Separator Four
348
+ # x1D Information Separator Three
349
+ # x1E Information Separator Two
350
+ # x1F Information Separator One
351
+ #
352
+ # The following are not dealt with.
353
+ # If you have this in your data, expect excel to blow up!
354
+ #
355
+ # x7F Delete
356
+ # x80 Control 0080
357
+ # x81 Control 0081
358
+ # x82 Break Permitted Here
359
+ # x83 No Break Here
360
+ # x84 Control 0084
361
+ # x85 Next Line (Nel)
362
+ # x86 Start Of Selected Area
363
+ # x87 End Of Selected Area
364
+ # x88 Character Tabulation Set
365
+ # x89 Character Tabulation With Justification
366
+ # x8A Line Tabulation Set
367
+ # x8B Partial Line Forward
368
+ # x8C Partial Line Backward
369
+ # x8D Reverse Line Feed
370
+ # x8E Single Shift Two
371
+ # x8F Single Shift Three
372
+ # x90 Device Control String
373
+ # x91 Private Use One
374
+ # x92 Private Use Two
375
+ # x93 Set Transmit State
376
+ # x94 Cancel Character
377
+ # x95 Message Waiting
378
+ # x96 Start Of Guarded Area
379
+ # x97 End Of Guarded Area
380
+ # x98 Start Of String
381
+ # x99 Control 0099
382
+ # x9A Single Character Introducer
383
+ # x9B Control Sequence Introducer
384
+ # x9C String Terminator
385
+ # x9D Operating System Command
386
+ # x9E Privacy Message
387
+ # x9F Application Program Command
388
+ #
389
+ # The following are allowed:
390
+ #
391
+ # x0A Line Feed (Lf)
392
+ # x0D Carriage Return (Cr)
393
+ # x09 Character Tabulation
394
+ # @see http://www.codetable.net/asciikeycodes
395
+ pattern = "\x0-\x08\x0B\x0C\x0E-\x1F"
396
+ pattern = pattern.respond_to?(:encode) ? pattern.encode('UTF-8') : pattern
397
+
398
+ # The regular expression used to remove control characters from worksheets
399
+ CONTROL_CHARS = pattern.freeze
400
+
401
+ # ISO 8601 date recognition
402
+ ISO_8601_REGEX = /\A(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\.[0-9]+)?(Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?\Z/.freeze
403
+
404
+ # FLOAT recognition
405
+ SAFE_FLOAT_REGEX = /\A[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]{1,2})?\Z/.freeze
406
+ MAYBE_FLOAT_REGEX = /\A[-+]?[0-9]*\.?[0-9]+[eE](?<exp>[-+]?[0-9]{3})\Z/.freeze
407
+
408
+ # Numeric recognition
409
+ NUMERIC_REGEX = /\A[+-]?\d+?\Z/.freeze
410
+ end