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
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
module Axlsx
|
|
2
|
-
# PageMargins specify the margins when printing a worksheet.
|
|
3
|
-
#
|
|
4
|
-
# For compatibility, PageMargins serialize to an empty string, unless at least one custom margin value
|
|
5
|
-
# has been specified. Otherwise, it serializes to a PageMargin element specifying all 6 margin values
|
|
6
|
-
# (using default values for margins that have not been specified explicitly).
|
|
7
|
-
#
|
|
8
|
-
# @note The recommended way to manage page margins is via Worksheet#page_margins
|
|
9
|
-
# @see Worksheet#page_margins
|
|
10
|
-
# @see Worksheet#initialize
|
|
11
|
-
class PageMargins
|
|
12
|
-
|
|
13
|
-
include Axlsx::OptionsParser
|
|
14
|
-
include Axlsx::SerializedAttributes
|
|
15
|
-
|
|
16
|
-
# Creates a new PageMargins object
|
|
17
|
-
# @option options [Numeric] left The left margin in inches
|
|
18
|
-
# @option options [Numeric] right The right margin in inches
|
|
19
|
-
# @option options [Numeric] bottom The bottom margin in inches
|
|
20
|
-
# @option options [Numeric] top The top margin in inches
|
|
21
|
-
# @option options [Numeric] header The header margin in inches
|
|
22
|
-
# @option options [Numeric] footer The footer margin in inches
|
|
23
|
-
def initialize(options={})
|
|
24
|
-
# Default values taken from MS Excel for Mac 2011
|
|
25
|
-
@left = @right = DEFAULT_LEFT_RIGHT
|
|
26
|
-
@top = @bottom = DEFAULT_TOP_BOTTOM
|
|
27
|
-
@header = @footer = DEFAULT_HEADER_FOOTER
|
|
28
|
-
parse_options options
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
serializable_attributes :left, :right, :bottom, :top, :header, :footer
|
|
32
|
-
|
|
33
|
-
# Default left and right margin (in inches)
|
|
34
|
-
DEFAULT_LEFT_RIGHT = 0.75
|
|
35
|
-
|
|
36
|
-
# Default top and bottom margins (in inches)
|
|
37
|
-
DEFAULT_TOP_BOTTOM = 1.00
|
|
38
|
-
|
|
39
|
-
# Default header and footer margins (in inches)
|
|
40
|
-
DEFAULT_HEADER_FOOTER = 0.50
|
|
41
|
-
|
|
42
|
-
# Left margin (in inches)
|
|
43
|
-
# @return [Float]
|
|
44
|
-
attr_reader :left
|
|
45
|
-
|
|
46
|
-
# Right margin (in inches)
|
|
47
|
-
# @return [Float]
|
|
48
|
-
attr_reader :right
|
|
49
|
-
|
|
50
|
-
# Top margin (in inches)
|
|
51
|
-
# @return [Float]
|
|
52
|
-
attr_reader :top
|
|
53
|
-
|
|
54
|
-
# Bottom margin (in inches)
|
|
55
|
-
# @return [Float]
|
|
56
|
-
attr_reader :bottom
|
|
57
|
-
|
|
58
|
-
# Header margin (in inches)
|
|
59
|
-
# @return [Float]
|
|
60
|
-
attr_reader :header
|
|
61
|
-
|
|
62
|
-
# Footer margin (in inches)
|
|
63
|
-
# @return [Float]
|
|
64
|
-
attr_reader :footer
|
|
65
|
-
|
|
66
|
-
# Set some or all margins at once.
|
|
67
|
-
# @param [Hash] margins the margins to set (possible keys are :left, :right, :top, :bottom, :header and :footer).
|
|
68
|
-
def set(margins)
|
|
69
|
-
margins.select do |k, v|
|
|
70
|
-
next unless [:left, :right, :top, :bottom, :header, :footer].include? k
|
|
71
|
-
send("#{k}=", v)
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
# @see left
|
|
76
|
-
def left=(v); Axlsx::validate_unsigned_numeric(v); @left = v end
|
|
77
|
-
# @see right
|
|
78
|
-
def right=(v); Axlsx::validate_unsigned_numeric(v); @right = v end
|
|
79
|
-
# @see top
|
|
80
|
-
def top=(v); Axlsx::validate_unsigned_numeric(v); @top = v end
|
|
81
|
-
# @see bottom
|
|
82
|
-
def bottom=(v); Axlsx::validate_unsigned_numeric(v); @bottom = v end
|
|
83
|
-
# @see header
|
|
84
|
-
def header=(v); Axlsx::validate_unsigned_numeric(v); @header = v end
|
|
85
|
-
# @see footer
|
|
86
|
-
def footer=(v); Axlsx::validate_unsigned_numeric(v); @footer = v end
|
|
87
|
-
|
|
88
|
-
# Serializes the page margins element
|
|
89
|
-
# @param [String] str
|
|
90
|
-
# @return [String]
|
|
91
|
-
# @note For compatibility, this is a noop unless custom margins have been specified.
|
|
92
|
-
# @see #custom_margins_specified?
|
|
93
|
-
def to_xml_string(str = '')
|
|
94
|
-
serialized_tag('pageMargins', str)
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
1
|
+
module Axlsx
|
|
2
|
+
# PageMargins specify the margins when printing a worksheet.
|
|
3
|
+
#
|
|
4
|
+
# For compatibility, PageMargins serialize to an empty string, unless at least one custom margin value
|
|
5
|
+
# has been specified. Otherwise, it serializes to a PageMargin element specifying all 6 margin values
|
|
6
|
+
# (using default values for margins that have not been specified explicitly).
|
|
7
|
+
#
|
|
8
|
+
# @note The recommended way to manage page margins is via Worksheet#page_margins
|
|
9
|
+
# @see Worksheet#page_margins
|
|
10
|
+
# @see Worksheet#initialize
|
|
11
|
+
class PageMargins
|
|
12
|
+
|
|
13
|
+
include Axlsx::OptionsParser
|
|
14
|
+
include Axlsx::SerializedAttributes
|
|
15
|
+
|
|
16
|
+
# Creates a new PageMargins object
|
|
17
|
+
# @option options [Numeric] left The left margin in inches
|
|
18
|
+
# @option options [Numeric] right The right margin in inches
|
|
19
|
+
# @option options [Numeric] bottom The bottom margin in inches
|
|
20
|
+
# @option options [Numeric] top The top margin in inches
|
|
21
|
+
# @option options [Numeric] header The header margin in inches
|
|
22
|
+
# @option options [Numeric] footer The footer margin in inches
|
|
23
|
+
def initialize(options={})
|
|
24
|
+
# Default values taken from MS Excel for Mac 2011
|
|
25
|
+
@left = @right = DEFAULT_LEFT_RIGHT
|
|
26
|
+
@top = @bottom = DEFAULT_TOP_BOTTOM
|
|
27
|
+
@header = @footer = DEFAULT_HEADER_FOOTER
|
|
28
|
+
parse_options options
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
serializable_attributes :left, :right, :bottom, :top, :header, :footer
|
|
32
|
+
|
|
33
|
+
# Default left and right margin (in inches)
|
|
34
|
+
DEFAULT_LEFT_RIGHT = 0.75
|
|
35
|
+
|
|
36
|
+
# Default top and bottom margins (in inches)
|
|
37
|
+
DEFAULT_TOP_BOTTOM = 1.00
|
|
38
|
+
|
|
39
|
+
# Default header and footer margins (in inches)
|
|
40
|
+
DEFAULT_HEADER_FOOTER = 0.50
|
|
41
|
+
|
|
42
|
+
# Left margin (in inches)
|
|
43
|
+
# @return [Float]
|
|
44
|
+
attr_reader :left
|
|
45
|
+
|
|
46
|
+
# Right margin (in inches)
|
|
47
|
+
# @return [Float]
|
|
48
|
+
attr_reader :right
|
|
49
|
+
|
|
50
|
+
# Top margin (in inches)
|
|
51
|
+
# @return [Float]
|
|
52
|
+
attr_reader :top
|
|
53
|
+
|
|
54
|
+
# Bottom margin (in inches)
|
|
55
|
+
# @return [Float]
|
|
56
|
+
attr_reader :bottom
|
|
57
|
+
|
|
58
|
+
# Header margin (in inches)
|
|
59
|
+
# @return [Float]
|
|
60
|
+
attr_reader :header
|
|
61
|
+
|
|
62
|
+
# Footer margin (in inches)
|
|
63
|
+
# @return [Float]
|
|
64
|
+
attr_reader :footer
|
|
65
|
+
|
|
66
|
+
# Set some or all margins at once.
|
|
67
|
+
# @param [Hash] margins the margins to set (possible keys are :left, :right, :top, :bottom, :header and :footer).
|
|
68
|
+
def set(margins)
|
|
69
|
+
margins.select do |k, v|
|
|
70
|
+
next unless [:left, :right, :top, :bottom, :header, :footer].include? k
|
|
71
|
+
send("#{k}=", v)
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# @see left
|
|
76
|
+
def left=(v); Axlsx::validate_unsigned_numeric(v); @left = v end
|
|
77
|
+
# @see right
|
|
78
|
+
def right=(v); Axlsx::validate_unsigned_numeric(v); @right = v end
|
|
79
|
+
# @see top
|
|
80
|
+
def top=(v); Axlsx::validate_unsigned_numeric(v); @top = v end
|
|
81
|
+
# @see bottom
|
|
82
|
+
def bottom=(v); Axlsx::validate_unsigned_numeric(v); @bottom = v end
|
|
83
|
+
# @see header
|
|
84
|
+
def header=(v); Axlsx::validate_unsigned_numeric(v); @header = v end
|
|
85
|
+
# @see footer
|
|
86
|
+
def footer=(v); Axlsx::validate_unsigned_numeric(v); @footer = v end
|
|
87
|
+
|
|
88
|
+
# Serializes the page margins element
|
|
89
|
+
# @param [String] str
|
|
90
|
+
# @return [String]
|
|
91
|
+
# @note For compatibility, this is a noop unless custom margins have been specified.
|
|
92
|
+
# @see #custom_margins_specified?
|
|
93
|
+
def to_xml_string(str = '')
|
|
94
|
+
serialized_tag('pageMargins', str)
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
module Axlsx
|
|
2
|
-
|
|
3
|
-
# Page setup properties of the worksheet
|
|
4
|
-
# This class name is not a typo, its spec.
|
|
5
|
-
class PageSetUpPr
|
|
6
|
-
|
|
7
|
-
include Axlsx::OptionsParser
|
|
8
|
-
include Axlsx::SerializedAttributes
|
|
9
|
-
|
|
10
|
-
# creates a new page setup properties object
|
|
11
|
-
# @param [Hash] options
|
|
12
|
-
# @option [Boolean] auto_page_breaks Flag indicating whether the sheet displays Automatic Page Breaks.
|
|
13
|
-
# @option [Boolean] fit_to_page Flag indicating whether the Fit to Page print option is enabled.
|
|
14
|
-
def initialize(options = {})
|
|
15
|
-
parse_options options
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
serializable_attributes :auto_page_breaks, :fit_to_page
|
|
19
|
-
|
|
20
|
-
attr_reader :auto_page_breaks
|
|
21
|
-
attr_reader :fit_to_page
|
|
22
|
-
|
|
23
|
-
# Flag indicating whether the Fit to Page print option is enabled.
|
|
24
|
-
# @param [Boolean] value
|
|
25
|
-
# @return [Boolean]
|
|
26
|
-
def fit_to_page=(value)
|
|
27
|
-
Axlsx.validate_boolean value
|
|
28
|
-
@fit_to_page = value
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# Flag indicating whether the sheet displays Automatic Page Breaks.
|
|
32
|
-
# @param [Boolean] value
|
|
33
|
-
# @return [Boolean]
|
|
34
|
-
def auto_page_breaks=(value)
|
|
35
|
-
Axlsx.validate_boolean value
|
|
36
|
-
@auto_page_breaks = value
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
# serialize to xml
|
|
40
|
-
def to_xml_string(str='')
|
|
41
|
-
str << ('<pageSetUpPr ' << serialized_attributes << '/>')
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
1
|
+
module Axlsx
|
|
2
|
+
|
|
3
|
+
# Page setup properties of the worksheet
|
|
4
|
+
# This class name is not a typo, its spec.
|
|
5
|
+
class PageSetUpPr
|
|
6
|
+
|
|
7
|
+
include Axlsx::OptionsParser
|
|
8
|
+
include Axlsx::SerializedAttributes
|
|
9
|
+
|
|
10
|
+
# creates a new page setup properties object
|
|
11
|
+
# @param [Hash] options
|
|
12
|
+
# @option [Boolean] auto_page_breaks Flag indicating whether the sheet displays Automatic Page Breaks.
|
|
13
|
+
# @option [Boolean] fit_to_page Flag indicating whether the Fit to Page print option is enabled.
|
|
14
|
+
def initialize(options = {})
|
|
15
|
+
parse_options options
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
serializable_attributes :auto_page_breaks, :fit_to_page
|
|
19
|
+
|
|
20
|
+
attr_reader :auto_page_breaks
|
|
21
|
+
attr_reader :fit_to_page
|
|
22
|
+
|
|
23
|
+
# Flag indicating whether the Fit to Page print option is enabled.
|
|
24
|
+
# @param [Boolean] value
|
|
25
|
+
# @return [Boolean]
|
|
26
|
+
def fit_to_page=(value)
|
|
27
|
+
Axlsx.validate_boolean value
|
|
28
|
+
@fit_to_page = value
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Flag indicating whether the sheet displays Automatic Page Breaks.
|
|
32
|
+
# @param [Boolean] value
|
|
33
|
+
# @return [Boolean]
|
|
34
|
+
def auto_page_breaks=(value)
|
|
35
|
+
Axlsx.validate_boolean value
|
|
36
|
+
@auto_page_breaks = value
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# serialize to xml
|
|
40
|
+
def to_xml_string(str='')
|
|
41
|
+
str << ('<pageSetUpPr ' << serialized_attributes << '/>')
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|