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,34 +1,34 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
module Axlsx
|
|
3
|
-
|
|
4
|
-
#This class specifies data for a particular data point.
|
|
5
|
-
class NumVal < StrVal
|
|
6
|
-
|
|
7
|
-
# A string representing the format code to apply.
|
|
8
|
-
# For more information see see the SpreadsheetML numFmt element's (§18.8.30) formatCode attribute.
|
|
9
|
-
# @return [String]
|
|
10
|
-
attr_reader :format_code
|
|
11
|
-
|
|
12
|
-
# creates a new NumVal object
|
|
13
|
-
# @option options [String] formatCode
|
|
14
|
-
# @option options [Integer] v
|
|
15
|
-
def initialize(options={})
|
|
16
|
-
@format_code = "General"
|
|
17
|
-
super(options)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
# @see format_code
|
|
21
|
-
def format_code=(v)
|
|
22
|
-
Axlsx::validate_string(v)
|
|
23
|
-
@format_code = v
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
# serialize the object
|
|
27
|
-
def to_xml_string(idx, str = "")
|
|
28
|
-
Axlsx::validate_unsigned_int(idx)
|
|
29
|
-
if !v.to_s.empty?
|
|
30
|
-
str << ('<c:pt idx="' << idx.to_s << '" formatCode="' << format_code << '"><c:v>' << v.to_s << '</c:v></c:pt>')
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
module Axlsx
|
|
3
|
+
|
|
4
|
+
#This class specifies data for a particular data point.
|
|
5
|
+
class NumVal < StrVal
|
|
6
|
+
|
|
7
|
+
# A string representing the format code to apply.
|
|
8
|
+
# For more information see see the SpreadsheetML numFmt element's (§18.8.30) formatCode attribute.
|
|
9
|
+
# @return [String]
|
|
10
|
+
attr_reader :format_code
|
|
11
|
+
|
|
12
|
+
# creates a new NumVal object
|
|
13
|
+
# @option options [String] formatCode
|
|
14
|
+
# @option options [Integer] v
|
|
15
|
+
def initialize(options={})
|
|
16
|
+
@format_code = "General"
|
|
17
|
+
super(options)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @see format_code
|
|
21
|
+
def format_code=(v)
|
|
22
|
+
Axlsx::validate_string(v)
|
|
23
|
+
@format_code = v
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# serialize the object
|
|
27
|
+
def to_xml_string(idx, str = "")
|
|
28
|
+
Axlsx::validate_unsigned_int(idx)
|
|
29
|
+
if !v.to_s.empty?
|
|
30
|
+
str << ('<c:pt idx="' << idx.to_s << '" formatCode="' << format_code << '"><c:v>' << v.to_s << '</c:v></c:pt>')
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
module Axlsx
|
|
3
|
-
# This class details a single cell anchor for drawings.
|
|
4
|
-
# @note The recommended way to manage drawings, images and charts is Worksheet#add_chart or Worksheet#add_image.
|
|
5
|
-
# @see Worksheet#add_chart
|
|
6
|
-
# @see Worksheet#add_image
|
|
7
|
-
class OneCellAnchor
|
|
8
|
-
|
|
9
|
-
include Axlsx::OptionsParser
|
|
10
|
-
|
|
11
|
-
# Creates a new OneCellAnchor object and an Pic associated with it.
|
|
12
|
-
# @param [Drawing] drawing
|
|
13
|
-
# @option options [Array] start_at the col, row to start at
|
|
14
|
-
# @option options [Integer] width
|
|
15
|
-
# @option options [Integer] height
|
|
16
|
-
# @option options [String] image_src the file location of the image you will render
|
|
17
|
-
# @option options [String] name the name attribute for the rendered image
|
|
18
|
-
# @option options [String] descr the description of the image rendered
|
|
19
|
-
def initialize(drawing, options={})
|
|
20
|
-
@drawing = drawing
|
|
21
|
-
@width = 0
|
|
22
|
-
@height = 0
|
|
23
|
-
drawing.anchors << self
|
|
24
|
-
@from = Marker.new
|
|
25
|
-
parse_options options
|
|
26
|
-
start_at(*options[:start_at]) if options[:start_at]
|
|
27
|
-
@object = Pic.new(self, options)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
# A marker that defines the from cell anchor. The default from column and row are 0 and 0 respectively
|
|
31
|
-
# @return [Marker]
|
|
32
|
-
attr_reader :from
|
|
33
|
-
|
|
34
|
-
# The object this anchor hosts
|
|
35
|
-
# @return [Pic]
|
|
36
|
-
attr_reader :object
|
|
37
|
-
|
|
38
|
-
# The drawing that holds this anchor
|
|
39
|
-
# @return [Drawing]
|
|
40
|
-
attr_reader :drawing
|
|
41
|
-
|
|
42
|
-
# the width of the graphic object in pixels.
|
|
43
|
-
# this is converted to EMU at a 92 ppi resolution
|
|
44
|
-
# @return [Integer]
|
|
45
|
-
attr_reader :width
|
|
46
|
-
|
|
47
|
-
# the height of the graphic object in pixels
|
|
48
|
-
# this is converted to EMU at a 92 ppi resolution
|
|
49
|
-
# @return [Integer]
|
|
50
|
-
attr_reader :height
|
|
51
|
-
|
|
52
|
-
# sets the starting position for the anchor.
|
|
53
|
-
# You can provide a String like "A1", an array like [0,0] or a cell object for the x parameter.
|
|
54
|
-
# We just 'figure it out' for you.
|
|
55
|
-
# @param [Array, String, Cell, Integer] x Accepts many inputs for defining the starting position of the cell.
|
|
56
|
-
# @param [Integer] y When x is an integer, this value is used for the row index at which the anchor starts.
|
|
57
|
-
def start_at(x, y=0)
|
|
58
|
-
from.coord x, y
|
|
59
|
-
end
|
|
60
|
-
#
|
|
61
|
-
# @see height
|
|
62
|
-
def height=(v) Axlsx::validate_unsigned_int(v); @height = v; end
|
|
63
|
-
|
|
64
|
-
# @see width
|
|
65
|
-
def width=(v) Axlsx::validate_unsigned_int(v); @width = v; end
|
|
66
|
-
|
|
67
|
-
# The index of this anchor in the drawing
|
|
68
|
-
# @return [Integer]
|
|
69
|
-
def index
|
|
70
|
-
@drawing.anchors.index(self)
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
# Serializes the object
|
|
74
|
-
# @param [String] str
|
|
75
|
-
# @return [String]
|
|
76
|
-
def to_xml_string(str = '')
|
|
77
|
-
str << '<xdr:oneCellAnchor>'
|
|
78
|
-
str << '<xdr:from>'
|
|
79
|
-
from.to_xml_string(str)
|
|
80
|
-
str << '</xdr:from>'
|
|
81
|
-
str << ('<xdr:ext cx="' << ext[:cx].to_s << '" cy="' << ext[:cy].to_s << '"/>')
|
|
82
|
-
@object.to_xml_string(str)
|
|
83
|
-
str << '<xdr:clientData/>'
|
|
84
|
-
str << '</xdr:oneCellAnchor>'
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
private
|
|
88
|
-
|
|
89
|
-
# converts the pixel width and height to EMU units and returns a hash of
|
|
90
|
-
# !{:cx=>[Integer], :cy=>[Integer]
|
|
91
|
-
# @return [Hash]
|
|
92
|
-
def ext
|
|
93
|
-
cy = @height * 914400 / 96
|
|
94
|
-
cx = @width * 914400 / 96
|
|
95
|
-
{:cy=>cy, :cx=>cx}
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
end
|
|
99
|
-
end
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
module Axlsx
|
|
3
|
+
# This class details a single cell anchor for drawings.
|
|
4
|
+
# @note The recommended way to manage drawings, images and charts is Worksheet#add_chart or Worksheet#add_image.
|
|
5
|
+
# @see Worksheet#add_chart
|
|
6
|
+
# @see Worksheet#add_image
|
|
7
|
+
class OneCellAnchor
|
|
8
|
+
|
|
9
|
+
include Axlsx::OptionsParser
|
|
10
|
+
|
|
11
|
+
# Creates a new OneCellAnchor object and an Pic associated with it.
|
|
12
|
+
# @param [Drawing] drawing
|
|
13
|
+
# @option options [Array] start_at the col, row to start at
|
|
14
|
+
# @option options [Integer] width
|
|
15
|
+
# @option options [Integer] height
|
|
16
|
+
# @option options [String] image_src the file location of the image you will render
|
|
17
|
+
# @option options [String] name the name attribute for the rendered image
|
|
18
|
+
# @option options [String] descr the description of the image rendered
|
|
19
|
+
def initialize(drawing, options={})
|
|
20
|
+
@drawing = drawing
|
|
21
|
+
@width = 0
|
|
22
|
+
@height = 0
|
|
23
|
+
drawing.anchors << self
|
|
24
|
+
@from = Marker.new
|
|
25
|
+
parse_options options
|
|
26
|
+
start_at(*options[:start_at]) if options[:start_at]
|
|
27
|
+
@object = Pic.new(self, options)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# A marker that defines the from cell anchor. The default from column and row are 0 and 0 respectively
|
|
31
|
+
# @return [Marker]
|
|
32
|
+
attr_reader :from
|
|
33
|
+
|
|
34
|
+
# The object this anchor hosts
|
|
35
|
+
# @return [Pic]
|
|
36
|
+
attr_reader :object
|
|
37
|
+
|
|
38
|
+
# The drawing that holds this anchor
|
|
39
|
+
# @return [Drawing]
|
|
40
|
+
attr_reader :drawing
|
|
41
|
+
|
|
42
|
+
# the width of the graphic object in pixels.
|
|
43
|
+
# this is converted to EMU at a 92 ppi resolution
|
|
44
|
+
# @return [Integer]
|
|
45
|
+
attr_reader :width
|
|
46
|
+
|
|
47
|
+
# the height of the graphic object in pixels
|
|
48
|
+
# this is converted to EMU at a 92 ppi resolution
|
|
49
|
+
# @return [Integer]
|
|
50
|
+
attr_reader :height
|
|
51
|
+
|
|
52
|
+
# sets the starting position for the anchor.
|
|
53
|
+
# You can provide a String like "A1", an array like [0,0] or a cell object for the x parameter.
|
|
54
|
+
# We just 'figure it out' for you.
|
|
55
|
+
# @param [Array, String, Cell, Integer] x Accepts many inputs for defining the starting position of the cell.
|
|
56
|
+
# @param [Integer] y When x is an integer, this value is used for the row index at which the anchor starts.
|
|
57
|
+
def start_at(x, y=0)
|
|
58
|
+
from.coord x, y
|
|
59
|
+
end
|
|
60
|
+
#
|
|
61
|
+
# @see height
|
|
62
|
+
def height=(v) Axlsx::validate_unsigned_int(v); @height = v; end
|
|
63
|
+
|
|
64
|
+
# @see width
|
|
65
|
+
def width=(v) Axlsx::validate_unsigned_int(v); @width = v; end
|
|
66
|
+
|
|
67
|
+
# The index of this anchor in the drawing
|
|
68
|
+
# @return [Integer]
|
|
69
|
+
def index
|
|
70
|
+
@drawing.anchors.index(self)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Serializes the object
|
|
74
|
+
# @param [String] str
|
|
75
|
+
# @return [String]
|
|
76
|
+
def to_xml_string(str = '')
|
|
77
|
+
str << '<xdr:oneCellAnchor>'
|
|
78
|
+
str << '<xdr:from>'
|
|
79
|
+
from.to_xml_string(str)
|
|
80
|
+
str << '</xdr:from>'
|
|
81
|
+
str << ('<xdr:ext cx="' << ext[:cx].to_s << '" cy="' << ext[:cy].to_s << '"/>')
|
|
82
|
+
@object.to_xml_string(str)
|
|
83
|
+
str << '<xdr:clientData/>'
|
|
84
|
+
str << '</xdr:oneCellAnchor>'
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
private
|
|
88
|
+
|
|
89
|
+
# converts the pixel width and height to EMU units and returns a hash of
|
|
90
|
+
# !{:cx=>[Integer], :cy=>[Integer]
|
|
91
|
+
# @return [Hash]
|
|
92
|
+
def ext
|
|
93
|
+
cy = @height * 914400 / 96
|
|
94
|
+
cx = @width * 914400 / 96
|
|
95
|
+
{:cy=>cy, :cx=>cx}
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
end
|
|
99
|
+
end
|