caxlsx 3.2.0 → 3.3.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.
- checksums.yaml +4 -4
- data/.yardopts +9 -9
- data/.yardopts_guide +18 -18
- data/CHANGELOG.md +385 -354
- data/LICENSE +21 -21
- data/README.md +165 -168
- data/Rakefile +29 -29
- data/examples/generate.rb +15 -15
- data/lib/axlsx/content_type/abstract_content_type.rb +32 -32
- data/lib/axlsx/content_type/content_type.rb +26 -26
- data/lib/axlsx/content_type/default.rb +25 -25
- data/lib/axlsx/content_type/override.rb +25 -25
- data/lib/axlsx/doc_props/app.rb +235 -235
- data/lib/axlsx/doc_props/core.rb +39 -39
- data/lib/axlsx/drawing/area_chart.rb +99 -99
- data/lib/axlsx/drawing/area_series.rb +110 -110
- data/lib/axlsx/drawing/ax_data_source.rb +26 -26
- data/lib/axlsx/drawing/axes.rb +61 -61
- data/lib/axlsx/drawing/axis.rb +190 -190
- data/lib/axlsx/drawing/bar_3D_chart.rb +148 -148
- data/lib/axlsx/drawing/bar_chart.rb +138 -138
- data/lib/axlsx/drawing/bar_series.rb +97 -97
- data/lib/axlsx/drawing/bubble_chart.rb +59 -59
- data/lib/axlsx/drawing/bubble_series.rb +63 -63
- data/lib/axlsx/drawing/cat_axis.rb +85 -85
- data/lib/axlsx/drawing/chart.rb +299 -276
- data/lib/axlsx/drawing/d_lbls.rb +91 -90
- data/lib/axlsx/drawing/drawing.rb +167 -167
- data/lib/axlsx/drawing/graphic_frame.rb +54 -54
- data/lib/axlsx/drawing/hyperlink.rb +100 -100
- data/lib/axlsx/drawing/line_3D_chart.rb +68 -68
- data/lib/axlsx/drawing/line_chart.rb +99 -99
- data/lib/axlsx/drawing/line_series.rb +110 -110
- data/lib/axlsx/drawing/marker.rb +84 -84
- data/lib/axlsx/drawing/num_data.rb +52 -52
- data/lib/axlsx/drawing/num_data_source.rb +62 -62
- data/lib/axlsx/drawing/num_val.rb +34 -34
- data/lib/axlsx/drawing/one_cell_anchor.rb +99 -99
- data/lib/axlsx/drawing/pic.rb +211 -211
- data/lib/axlsx/drawing/picture_locking.rb +42 -42
- data/lib/axlsx/drawing/pie_3D_chart.rb +47 -47
- data/lib/axlsx/drawing/pie_series.rb +74 -74
- data/lib/axlsx/drawing/scaling.rb +60 -60
- data/lib/axlsx/drawing/scatter_chart.rb +74 -74
- data/lib/axlsx/drawing/scatter_series.rb +129 -129
- data/lib/axlsx/drawing/ser_axis.rb +45 -45
- data/lib/axlsx/drawing/series.rb +69 -69
- data/lib/axlsx/drawing/series_title.rb +25 -25
- data/lib/axlsx/drawing/str_data.rb +42 -42
- data/lib/axlsx/drawing/str_val.rb +34 -34
- data/lib/axlsx/drawing/title.rb +107 -97
- data/lib/axlsx/drawing/two_cell_anchor.rb +97 -97
- data/lib/axlsx/drawing/val_axis.rb +37 -37
- data/lib/axlsx/drawing/view_3D.rb +115 -115
- data/lib/axlsx/drawing/vml_drawing.rb +42 -42
- data/lib/axlsx/drawing/vml_shape.rb +66 -66
- data/lib/axlsx/package.rb +398 -388
- data/lib/axlsx/rels/relationship.rb +130 -130
- data/lib/axlsx/rels/relationships.rb +32 -32
- data/lib/axlsx/stylesheet/border.rb +73 -73
- data/lib/axlsx/stylesheet/border_pr.rb +71 -71
- data/lib/axlsx/stylesheet/cell_alignment.rb +132 -132
- data/lib/axlsx/stylesheet/cell_protection.rb +41 -41
- data/lib/axlsx/stylesheet/cell_style.rb +72 -72
- data/lib/axlsx/stylesheet/color.rb +76 -76
- data/lib/axlsx/stylesheet/dxf.rb +79 -79
- data/lib/axlsx/stylesheet/fill.rb +35 -35
- data/lib/axlsx/stylesheet/font.rb +156 -156
- data/lib/axlsx/stylesheet/gradient_fill.rb +103 -103
- data/lib/axlsx/stylesheet/gradient_stop.rb +37 -37
- data/lib/axlsx/stylesheet/num_fmt.rb +86 -86
- data/lib/axlsx/stylesheet/pattern_fill.rb +73 -73
- data/lib/axlsx/stylesheet/styles.rb +535 -494
- data/lib/axlsx/stylesheet/table_style.rb +54 -54
- data/lib/axlsx/stylesheet/table_style_element.rb +77 -77
- data/lib/axlsx/stylesheet/table_styles.rb +46 -46
- data/lib/axlsx/stylesheet/xf.rb +147 -147
- data/lib/axlsx/util/accessors.rb +64 -64
- data/lib/axlsx/util/constants.rb +416 -410
- data/lib/axlsx/util/mime_type_utils.rb +11 -11
- data/lib/axlsx/util/options_parser.rb +16 -16
- data/lib/axlsx/util/serialized_attributes.rb +89 -89
- data/lib/axlsx/util/simple_typed_list.rb +179 -179
- data/lib/axlsx/util/storage.rb +146 -146
- data/lib/axlsx/util/validators.rb +312 -312
- data/lib/axlsx/util/zip_command.rb +73 -73
- data/lib/axlsx/version.rb +5 -5
- data/lib/axlsx/workbook/defined_name.rb +128 -128
- data/lib/axlsx/workbook/defined_names.rb +21 -21
- data/lib/axlsx/workbook/shared_strings_table.rb +77 -77
- data/lib/axlsx/workbook/workbook.rb +425 -395
- data/lib/axlsx/workbook/workbook_view.rb +80 -80
- data/lib/axlsx/workbook/workbook_views.rb +22 -22
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -77
- data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +244 -244
- data/lib/axlsx/workbook/worksheet/border_creator.rb +76 -0
- data/lib/axlsx/workbook/worksheet/break.rb +35 -35
- data/lib/axlsx/workbook/worksheet/cell.rb +532 -506
- data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
- data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
- data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
- data/lib/axlsx/workbook/worksheet/col.rb +145 -145
- data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
- data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
- data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
- data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
- data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
- data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
- data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
- data/lib/axlsx/workbook/worksheet/data_validation.rb +267 -246
- data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
- data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
- data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
- data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
- data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
- data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
- data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
- data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
- data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
- data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
- data/lib/axlsx/workbook/worksheet/pivot_table.rb +335 -296
- data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
- data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
- data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
- data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
- data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
- data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
- data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
- data/lib/axlsx/workbook/worksheet/row.rb +164 -164
- data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
- data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
- data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
- data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
- data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
- data/lib/axlsx/workbook/worksheet/table.rb +102 -102
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
- data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
- data/lib/axlsx/workbook/worksheet/worksheet.rb +829 -786
- data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
- data/lib/axlsx.rb +204 -185
- data/lib/caxlsx.rb +2 -2
- data/lib/schema/dc.xsd +118 -118
- data/lib/schema/dcmitype.xsd +51 -51
- data/lib/schema/dcterms.xsd +331 -331
- data/lib/schema/dml-chartDrawing.xsd +146 -146
- data/lib/schema/dml-compatibility.xsd +14 -14
- data/lib/schema/dml-lockedCanvas.xsd +11 -11
- data/lib/schema/dml-main.xsd +3048 -3048
- data/lib/schema/dml-picture.xsd +23 -23
- data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
- data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
- data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
- data/lib/schema/shared-bibliography.xsd +144 -144
- data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
- data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
- data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
- data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
- data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
- data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
- data/lib/schema/shared-relationshipReference.xsd +25 -25
- data/lib/schema/vml-main.xsd +569 -569
- data/lib/schema/vml-officeDrawing.xsd +509 -509
- data/lib/schema/vml-presentationDrawing.xsd +12 -12
- data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
- data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
- data/lib/schema/xml.xsd +116 -116
- metadata +5 -252
- data/test/benchmark.rb +0 -72
- data/test/content_type/tc_content_type.rb +0 -76
- data/test/content_type/tc_default.rb +0 -16
- data/test/content_type/tc_override.rb +0 -14
- data/test/doc_props/tc_app.rb +0 -43
- data/test/doc_props/tc_core.rb +0 -42
- data/test/drawing/tc_area_chart.rb +0 -39
- data/test/drawing/tc_area_series.rb +0 -71
- data/test/drawing/tc_axes.rb +0 -8
- data/test/drawing/tc_axis.rb +0 -112
- data/test/drawing/tc_bar_3D_chart.rb +0 -86
- data/test/drawing/tc_bar_chart.rb +0 -86
- data/test/drawing/tc_bar_series.rb +0 -46
- data/test/drawing/tc_bubble_chart.rb +0 -44
- data/test/drawing/tc_bubble_series.rb +0 -21
- data/test/drawing/tc_cat_axis.rb +0 -31
- data/test/drawing/tc_cat_axis_data.rb +0 -27
- data/test/drawing/tc_chart.rb +0 -123
- data/test/drawing/tc_d_lbls.rb +0 -57
- data/test/drawing/tc_data_source.rb +0 -23
- data/test/drawing/tc_drawing.rb +0 -80
- data/test/drawing/tc_graphic_frame.rb +0 -27
- data/test/drawing/tc_hyperlink.rb +0 -64
- data/test/drawing/tc_line_3d_chart.rb +0 -47
- data/test/drawing/tc_line_chart.rb +0 -39
- data/test/drawing/tc_line_series.rb +0 -71
- data/test/drawing/tc_marker.rb +0 -44
- data/test/drawing/tc_named_axis_data.rb +0 -27
- data/test/drawing/tc_num_data.rb +0 -31
- data/test/drawing/tc_num_val.rb +0 -29
- data/test/drawing/tc_one_cell_anchor.rb +0 -66
- data/test/drawing/tc_pic.rb +0 -103
- data/test/drawing/tc_picture_locking.rb +0 -72
- data/test/drawing/tc_pie_3D_chart.rb +0 -28
- data/test/drawing/tc_pie_series.rb +0 -33
- data/test/drawing/tc_scaling.rb +0 -36
- data/test/drawing/tc_scatter_chart.rb +0 -48
- data/test/drawing/tc_scatter_series.rb +0 -74
- data/test/drawing/tc_ser_axis.rb +0 -31
- data/test/drawing/tc_series.rb +0 -23
- data/test/drawing/tc_series_title.rb +0 -54
- data/test/drawing/tc_str_data.rb +0 -18
- data/test/drawing/tc_str_val.rb +0 -30
- data/test/drawing/tc_title.rb +0 -70
- data/test/drawing/tc_two_cell_anchor.rb +0 -36
- data/test/drawing/tc_val_axis.rb +0 -24
- data/test/drawing/tc_view_3D.rb +0 -54
- data/test/drawing/tc_vml_drawing.rb +0 -25
- data/test/drawing/tc_vml_shape.rb +0 -106
- data/test/fixtures/image1.gif +0 -0
- data/test/fixtures/image1.jpeg +0 -0
- data/test/fixtures/image1.jpg +0 -0
- data/test/fixtures/image1.png +0 -0
- data/test/fixtures/image1_fake.jpg +0 -0
- data/test/profile.rb +0 -24
- data/test/rels/tc_relationship.rb +0 -52
- data/test/rels/tc_relationships.rb +0 -37
- data/test/stylesheet/tc_border.rb +0 -37
- data/test/stylesheet/tc_border_pr.rb +0 -32
- data/test/stylesheet/tc_cell_alignment.rb +0 -81
- data/test/stylesheet/tc_cell_protection.rb +0 -29
- data/test/stylesheet/tc_cell_style.rb +0 -57
- data/test/stylesheet/tc_color.rb +0 -43
- data/test/stylesheet/tc_dxf.rb +0 -81
- data/test/stylesheet/tc_fill.rb +0 -18
- data/test/stylesheet/tc_font.rb +0 -133
- data/test/stylesheet/tc_gradient_fill.rb +0 -72
- data/test/stylesheet/tc_gradient_stop.rb +0 -31
- data/test/stylesheet/tc_num_fmt.rb +0 -30
- data/test/stylesheet/tc_pattern_fill.rb +0 -43
- data/test/stylesheet/tc_styles.rb +0 -309
- data/test/stylesheet/tc_table_style.rb +0 -44
- data/test/stylesheet/tc_table_style_element.rb +0 -45
- data/test/stylesheet/tc_table_styles.rb +0 -29
- data/test/stylesheet/tc_xf.rb +0 -120
- data/test/tc_axlsx.rb +0 -109
- data/test/tc_helper.rb +0 -10
- data/test/tc_package.rb +0 -317
- data/test/util/tc_mime_type_utils.rb +0 -13
- data/test/util/tc_serialized_attributes.rb +0 -19
- data/test/util/tc_simple_typed_list.rb +0 -77
- data/test/util/tc_validators.rb +0 -210
- data/test/workbook/tc_defined_name.rb +0 -49
- data/test/workbook/tc_shared_strings_table.rb +0 -59
- data/test/workbook/tc_workbook.rb +0 -165
- data/test/workbook/tc_workbook_view.rb +0 -50
- data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +0 -38
- data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +0 -76
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +0 -50
- data/test/workbook/worksheet/tc_break.rb +0 -49
- data/test/workbook/worksheet/tc_cell.rb +0 -465
- data/test/workbook/worksheet/tc_cfvo.rb +0 -31
- data/test/workbook/worksheet/tc_col.rb +0 -93
- data/test/workbook/worksheet/tc_color_scale.rb +0 -58
- data/test/workbook/worksheet/tc_comment.rb +0 -72
- data/test/workbook/worksheet/tc_comments.rb +0 -57
- data/test/workbook/worksheet/tc_conditional_formatting.rb +0 -224
- data/test/workbook/worksheet/tc_data_bar.rb +0 -46
- data/test/workbook/worksheet/tc_data_validation.rb +0 -265
- data/test/workbook/worksheet/tc_date_time_converter.rb +0 -124
- data/test/workbook/worksheet/tc_header_footer.rb +0 -151
- data/test/workbook/worksheet/tc_icon_set.rb +0 -45
- data/test/workbook/worksheet/tc_outline_pr.rb +0 -19
- data/test/workbook/worksheet/tc_page_margins.rb +0 -97
- data/test/workbook/worksheet/tc_page_set_up_pr.rb +0 -15
- data/test/workbook/worksheet/tc_page_setup.rb +0 -143
- data/test/workbook/worksheet/tc_pane.rb +0 -54
- data/test/workbook/worksheet/tc_pivot_table.rb +0 -180
- data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +0 -62
- data/test/workbook/worksheet/tc_print_options.rb +0 -72
- data/test/workbook/worksheet/tc_protected_range.rb +0 -17
- data/test/workbook/worksheet/tc_rich_text.rb +0 -44
- data/test/workbook/worksheet/tc_rich_text_run.rb +0 -173
- data/test/workbook/worksheet/tc_row.rb +0 -160
- data/test/workbook/worksheet/tc_selection.rb +0 -55
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +0 -18
- data/test/workbook/worksheet/tc_sheet_format_pr.rb +0 -88
- data/test/workbook/worksheet/tc_sheet_pr.rb +0 -49
- data/test/workbook/worksheet/tc_sheet_protection.rb +0 -117
- data/test/workbook/worksheet/tc_sheet_view.rb +0 -214
- data/test/workbook/worksheet/tc_table.rb +0 -77
- data/test/workbook/worksheet/tc_table_style_info.rb +0 -53
- data/test/workbook/worksheet/tc_worksheet.rb +0 -632
- data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +0 -55
data/lib/axlsx/util/constants.rb
CHANGED
|
@@ -1,410 +1,416 @@
|
|
|
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
|
-
#
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
#
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
# error
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
# error message
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
# error message for
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
# error message for
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
# error message for sheets that use
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
# error message for
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
# error message
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
# error message for
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
# error message for
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
# error message for
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
# error message for invalid
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
# error message for
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
#
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
#
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
#
|
|
326
|
-
#
|
|
327
|
-
#
|
|
328
|
-
#
|
|
329
|
-
#
|
|
330
|
-
#
|
|
331
|
-
#
|
|
332
|
-
#
|
|
333
|
-
#
|
|
334
|
-
#
|
|
335
|
-
#
|
|
336
|
-
#
|
|
337
|
-
#
|
|
338
|
-
#
|
|
339
|
-
#
|
|
340
|
-
#
|
|
341
|
-
#
|
|
342
|
-
#
|
|
343
|
-
#
|
|
344
|
-
#
|
|
345
|
-
#
|
|
346
|
-
#
|
|
347
|
-
#
|
|
348
|
-
#
|
|
349
|
-
#
|
|
350
|
-
#
|
|
351
|
-
#
|
|
352
|
-
#
|
|
353
|
-
#
|
|
354
|
-
#
|
|
355
|
-
#
|
|
356
|
-
#
|
|
357
|
-
#
|
|
358
|
-
#
|
|
359
|
-
#
|
|
360
|
-
#
|
|
361
|
-
#
|
|
362
|
-
#
|
|
363
|
-
#
|
|
364
|
-
#
|
|
365
|
-
#
|
|
366
|
-
#
|
|
367
|
-
#
|
|
368
|
-
#
|
|
369
|
-
#
|
|
370
|
-
#
|
|
371
|
-
#
|
|
372
|
-
#
|
|
373
|
-
#
|
|
374
|
-
#
|
|
375
|
-
#
|
|
376
|
-
#
|
|
377
|
-
#
|
|
378
|
-
#
|
|
379
|
-
#
|
|
380
|
-
#
|
|
381
|
-
#
|
|
382
|
-
#
|
|
383
|
-
#
|
|
384
|
-
#
|
|
385
|
-
#
|
|
386
|
-
#
|
|
387
|
-
#
|
|
388
|
-
#
|
|
389
|
-
#
|
|
390
|
-
#
|
|
391
|
-
#
|
|
392
|
-
#
|
|
393
|
-
#
|
|
394
|
-
#
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
#
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
#
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
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
|
+
# worksheet maximum name length
|
|
278
|
+
WORKSHEET_MAX_NAME_LENGTH = 31
|
|
279
|
+
|
|
280
|
+
# worksheet name forbidden characters
|
|
281
|
+
WORKSHEET_NAME_FORBIDDEN_CHARS = '[]*/\?:'.chars.freeze
|
|
282
|
+
|
|
283
|
+
# error messages RestrictionValidor
|
|
284
|
+
ERR_RESTRICTION = "Invalid Data: %s. %s must be one of %s.".freeze
|
|
285
|
+
|
|
286
|
+
# error message DataTypeValidator
|
|
287
|
+
ERR_TYPE = "Invalid Data %s for %s. must be %s.".freeze
|
|
288
|
+
|
|
289
|
+
# error message for RegexValidator
|
|
290
|
+
ERR_REGEX = "Invalid Data. %s does not match %s.".freeze
|
|
291
|
+
|
|
292
|
+
# error message for RangeValidator
|
|
293
|
+
ERR_RANGE = "Invalid Data. %s must be between %s and %s, (inclusive:%s) you gave: %s".freeze
|
|
294
|
+
|
|
295
|
+
# error message for sheets that use explicit empty string name
|
|
296
|
+
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
|
|
297
|
+
|
|
298
|
+
# error message for sheets that use a name which is longer than 31 bytes
|
|
299
|
+
ERR_SHEET_NAME_TOO_LONG = "Your worksheet name '%s' is too long. Worksheet names must be #{WORKSHEET_MAX_NAME_LENGTH} characters (bytes) or less".freeze
|
|
300
|
+
|
|
301
|
+
# error message for sheets that use a name which include invalid characters
|
|
302
|
+
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
|
|
303
|
+
|
|
304
|
+
# error message for duplicate sheet names
|
|
305
|
+
ERR_DUPLICATE_SHEET_NAME = "There is already a worksheet in this workbook named '%s'. Please use a unique name".freeze
|
|
306
|
+
|
|
307
|
+
# error message when user does not provide color and or style options for border in Style#add_sytle
|
|
308
|
+
ERR_INVALID_BORDER_OPTIONS = "border hash must include both style and color. e.g. :border => { :color => 'FF000000', :style => :thin }. You provided: %s".freeze
|
|
309
|
+
|
|
310
|
+
# error message for invalid border id reference
|
|
311
|
+
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
|
|
312
|
+
|
|
313
|
+
# error message for invalid angles
|
|
314
|
+
ERR_ANGLE = "Angles must be a value between -90 and 90. You provided: %s".freeze
|
|
315
|
+
|
|
316
|
+
# error message for non 'integerish' value
|
|
317
|
+
ERR_INTEGERISH = "You value must be, or be castable via to_i, an Integer. You provided %s".freeze
|
|
318
|
+
|
|
319
|
+
# error message for invalid cell reference
|
|
320
|
+
ERR_CELL_REFERENCE_INVALID = "Invalid cell definition `%s`".freeze
|
|
321
|
+
|
|
322
|
+
# error message for cell reference with last cell missing
|
|
323
|
+
ERR_CELL_REFERENCE_MISSING_CELL = "Missing cell `%s` for the specified range `%s`".freeze
|
|
324
|
+
|
|
325
|
+
# Regex to match forbidden control characters
|
|
326
|
+
# The following will be automatically stripped from worksheets.
|
|
327
|
+
#
|
|
328
|
+
# x00 Null
|
|
329
|
+
# x01 Start Of Heading
|
|
330
|
+
# x02 Start Of Text
|
|
331
|
+
# x03End Of Text
|
|
332
|
+
# x04 End Of Transmission
|
|
333
|
+
# x05 Enquiry
|
|
334
|
+
# x06 Acknowledge
|
|
335
|
+
# x07 Bell
|
|
336
|
+
# x08 Backspace
|
|
337
|
+
# x0B Line Tabulation
|
|
338
|
+
# x0C Form Feed
|
|
339
|
+
# x0E Shift Out
|
|
340
|
+
# x0F Shift In
|
|
341
|
+
# x10 Data Link Escape
|
|
342
|
+
# x11 Device Control One
|
|
343
|
+
# x12 Device Control Two
|
|
344
|
+
# x13 Device Control Three
|
|
345
|
+
# x14 Device Control Four
|
|
346
|
+
# x15 Negative Acknowledge
|
|
347
|
+
# x16 Synchronous Idle
|
|
348
|
+
# x17 End Of Transmission Block
|
|
349
|
+
# x18 Cancel
|
|
350
|
+
# x19 End Of Medium
|
|
351
|
+
# x1A Substitute
|
|
352
|
+
# x1B Escape
|
|
353
|
+
# x1C Information Separator Four
|
|
354
|
+
# x1D Information Separator Three
|
|
355
|
+
# x1E Information Separator Two
|
|
356
|
+
# x1F Information Separator One
|
|
357
|
+
#
|
|
358
|
+
# The following are not dealt with.
|
|
359
|
+
# If you have this in your data, expect excel to blow up!
|
|
360
|
+
#
|
|
361
|
+
# x7F Delete
|
|
362
|
+
# x80 Control 0080
|
|
363
|
+
# x81 Control 0081
|
|
364
|
+
# x82 Break Permitted Here
|
|
365
|
+
# x83 No Break Here
|
|
366
|
+
# x84 Control 0084
|
|
367
|
+
# x85 Next Line (Nel)
|
|
368
|
+
# x86 Start Of Selected Area
|
|
369
|
+
# x87 End Of Selected Area
|
|
370
|
+
# x88 Character Tabulation Set
|
|
371
|
+
# x89 Character Tabulation With Justification
|
|
372
|
+
# x8A Line Tabulation Set
|
|
373
|
+
# x8B Partial Line Forward
|
|
374
|
+
# x8C Partial Line Backward
|
|
375
|
+
# x8D Reverse Line Feed
|
|
376
|
+
# x8E Single Shift Two
|
|
377
|
+
# x8F Single Shift Three
|
|
378
|
+
# x90 Device Control String
|
|
379
|
+
# x91 Private Use One
|
|
380
|
+
# x92 Private Use Two
|
|
381
|
+
# x93 Set Transmit State
|
|
382
|
+
# x94 Cancel Character
|
|
383
|
+
# x95 Message Waiting
|
|
384
|
+
# x96 Start Of Guarded Area
|
|
385
|
+
# x97 End Of Guarded Area
|
|
386
|
+
# x98 Start Of String
|
|
387
|
+
# x99 Control 0099
|
|
388
|
+
# x9A Single Character Introducer
|
|
389
|
+
# x9B Control Sequence Introducer
|
|
390
|
+
# x9C String Terminator
|
|
391
|
+
# x9D Operating System Command
|
|
392
|
+
# x9E Privacy Message
|
|
393
|
+
# x9F Application Program Command
|
|
394
|
+
#
|
|
395
|
+
# The following are allowed:
|
|
396
|
+
#
|
|
397
|
+
# x0A Line Feed (Lf)
|
|
398
|
+
# x0D Carriage Return (Cr)
|
|
399
|
+
# x09 Character Tabulation
|
|
400
|
+
# @see http://www.codetable.net/asciikeycodes
|
|
401
|
+
pattern = "\x0-\x08\x0B\x0C\x0E-\x1F"
|
|
402
|
+
pattern = pattern.respond_to?(:encode) ? pattern.encode('UTF-8') : pattern
|
|
403
|
+
|
|
404
|
+
# The regular expression used to remove control characters from worksheets
|
|
405
|
+
CONTROL_CHARS = pattern.freeze
|
|
406
|
+
|
|
407
|
+
# ISO 8601 date recognition
|
|
408
|
+
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
|
|
409
|
+
|
|
410
|
+
# FLOAT recognition
|
|
411
|
+
SAFE_FLOAT_REGEX = /\A[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]{1,2})?\Z/.freeze
|
|
412
|
+
MAYBE_FLOAT_REGEX = /\A[-+]?[0-9]*\.?[0-9]+[eE](?<exp>[-+]?[0-9]{3})\Z/.freeze
|
|
413
|
+
|
|
414
|
+
# Numeric recognition
|
|
415
|
+
NUMERIC_REGEX = /\A[+-]?\d+?\Z/.freeze
|
|
416
|
+
end
|