diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/axlsx/content_type/content_type.rb | 6 | ||||
| -rw-r--r-- | lib/axlsx/drawing/area_series.rb | 2 | ||||
| -rw-r--r-- | lib/axlsx/drawing/drawing.rb | 98 | ||||
| -rw-r--r-- | lib/axlsx/drawing/line_series.rb | 2 | ||||
| -rw-r--r-- | lib/axlsx/drawing/pie_series.rb | 2 | ||||
| -rw-r--r-- | lib/axlsx/drawing/scatter_series.rb | 2 | ||||
| -rw-r--r-- | lib/axlsx/rels/relationships.rb | 2 | ||||
| -rw-r--r-- | lib/axlsx/stylesheet/color.rb | 2 | ||||
| -rw-r--r-- | lib/axlsx/stylesheet/styles.rb | 58 | ||||
| -rw-r--r-- | lib/axlsx/util/constants.rb | 14 | ||||
| -rw-r--r-- | lib/axlsx/util/simple_typed_list.rb | 12 | ||||
| -rw-r--r-- | lib/axlsx/workbook/workbook.rb | 98 | ||||
| -rw-r--r-- | lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb | 4 | ||||
| -rw-r--r-- | lib/axlsx/workbook/worksheet/cell.rb | 7 | ||||
| -rw-r--r-- | lib/axlsx/workbook/worksheet/dimension.rb | 2 | ||||
| -rw-r--r-- | lib/axlsx/workbook/worksheet/merged_cells.rb | 4 | ||||
| -rw-r--r-- | lib/axlsx/workbook/worksheet/worksheet.rb | 2 | ||||
| -rw-r--r-- | lib/caxlsx.rb | 2 |
18 files changed, 162 insertions, 157 deletions
diff --git a/lib/axlsx/content_type/content_type.rb b/lib/axlsx/content_type/content_type.rb index 22763bfb..d2e3bb9e 100644 --- a/lib/axlsx/content_type/content_type.rb +++ b/lib/axlsx/content_type/content_type.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true module Axlsx - require 'axlsx/content_type/abstract_content_type.rb' - require 'axlsx/content_type/default.rb' - require 'axlsx/content_type/override.rb' + require 'axlsx/content_type/abstract_content_type' + require 'axlsx/content_type/default' + require 'axlsx/content_type/override' # ContentTypes used in the package. This is automatically managed by the package package. class ContentType < SimpleTypedList diff --git a/lib/axlsx/drawing/area_series.rb b/lib/axlsx/drawing/area_series.rb index cf4aaf13..afaf5ea0 100644 --- a/lib/axlsx/drawing/area_series.rb +++ b/lib/axlsx/drawing/area_series.rb @@ -89,7 +89,7 @@ module Axlsx if !@show_marker str << '<c:marker><c:symbol val="none"/></c:marker>' elsif @marker_symbol != :default - str << '<c:marker><c:symbol val="' + @marker_symbol.to_s + '"/></c:marker>' + str << '<c:marker><c:symbol val="' << @marker_symbol.to_s << '"/></c:marker>' end @labels.to_xml_string(str) unless @labels.nil? diff --git a/lib/axlsx/drawing/drawing.rb b/lib/axlsx/drawing/drawing.rb index ef532974..8cb3e2cc 100644 --- a/lib/axlsx/drawing/drawing.rb +++ b/lib/axlsx/drawing/drawing.rb @@ -1,55 +1,55 @@ # frozen_string_literal: true module Axlsx - require 'axlsx/drawing/d_lbls.rb' - require 'axlsx/drawing/title.rb' - require 'axlsx/drawing/series_title.rb' - require 'axlsx/drawing/series.rb' - require 'axlsx/drawing/pie_series.rb' - require 'axlsx/drawing/bar_series.rb' - require 'axlsx/drawing/line_series.rb' - require 'axlsx/drawing/scatter_series.rb' - require 'axlsx/drawing/bubble_series.rb' - require 'axlsx/drawing/area_series.rb' - - require 'axlsx/drawing/scaling.rb' - require 'axlsx/drawing/axis.rb' - - require 'axlsx/drawing/str_val.rb' - require 'axlsx/drawing/num_val.rb' - require 'axlsx/drawing/str_data.rb' - require 'axlsx/drawing/num_data.rb' - require 'axlsx/drawing/num_data_source.rb' - require 'axlsx/drawing/ax_data_source.rb' - - require 'axlsx/drawing/ser_axis.rb' - require 'axlsx/drawing/cat_axis.rb' - require 'axlsx/drawing/val_axis.rb' - require 'axlsx/drawing/axes.rb' - - require 'axlsx/drawing/marker.rb' - - require 'axlsx/drawing/one_cell_anchor.rb' - require 'axlsx/drawing/two_cell_anchor.rb' - require 'axlsx/drawing/graphic_frame.rb' - - require 'axlsx/drawing/view_3D.rb' - require 'axlsx/drawing/chart.rb' - require 'axlsx/drawing/pie_3D_chart.rb' - require 'axlsx/drawing/bar_3D_chart.rb' - require 'axlsx/drawing/bar_chart.rb' - require 'axlsx/drawing/line_chart.rb' - require 'axlsx/drawing/line_3D_chart.rb' - require 'axlsx/drawing/scatter_chart.rb' - require 'axlsx/drawing/bubble_chart.rb' - require 'axlsx/drawing/area_chart.rb' - - require 'axlsx/drawing/picture_locking.rb' - require 'axlsx/drawing/pic.rb' - require 'axlsx/drawing/hyperlink.rb' - - require 'axlsx/drawing/vml_drawing.rb' - require 'axlsx/drawing/vml_shape.rb' + require 'axlsx/drawing/d_lbls' + require 'axlsx/drawing/title' + require 'axlsx/drawing/series_title' + require 'axlsx/drawing/series' + require 'axlsx/drawing/pie_series' + require 'axlsx/drawing/bar_series' + require 'axlsx/drawing/line_series' + require 'axlsx/drawing/scatter_series' + require 'axlsx/drawing/bubble_series' + require 'axlsx/drawing/area_series' + + require 'axlsx/drawing/scaling' + require 'axlsx/drawing/axis' + + require 'axlsx/drawing/str_val' + require 'axlsx/drawing/num_val' + require 'axlsx/drawing/str_data' + require 'axlsx/drawing/num_data' + require 'axlsx/drawing/num_data_source' + require 'axlsx/drawing/ax_data_source' + + require 'axlsx/drawing/ser_axis' + require 'axlsx/drawing/cat_axis' + require 'axlsx/drawing/val_axis' + require 'axlsx/drawing/axes' + + require 'axlsx/drawing/marker' + + require 'axlsx/drawing/one_cell_anchor' + require 'axlsx/drawing/two_cell_anchor' + require 'axlsx/drawing/graphic_frame' + + require 'axlsx/drawing/view_3D' + require 'axlsx/drawing/chart' + require 'axlsx/drawing/pie_3D_chart' + require 'axlsx/drawing/bar_3D_chart' + require 'axlsx/drawing/bar_chart' + require 'axlsx/drawing/line_chart' + require 'axlsx/drawing/line_3D_chart' + require 'axlsx/drawing/scatter_chart' + require 'axlsx/drawing/bubble_chart' + require 'axlsx/drawing/area_chart' + + require 'axlsx/drawing/picture_locking' + require 'axlsx/drawing/pic' + require 'axlsx/drawing/hyperlink' + + require 'axlsx/drawing/vml_drawing' + require 'axlsx/drawing/vml_shape' # A Drawing is a canvas for charts and images. Each worksheet has a single drawing that manages anchors. # The anchors reference the charts or images via graphical frames. This is not a trivial relationship so please do follow the advice in the note. diff --git a/lib/axlsx/drawing/line_series.rb b/lib/axlsx/drawing/line_series.rb index fbed4000..4854a718 100644 --- a/lib/axlsx/drawing/line_series.rb +++ b/lib/axlsx/drawing/line_series.rb @@ -89,7 +89,7 @@ module Axlsx if !@show_marker str << '<c:marker><c:symbol val="none"/></c:marker>' elsif @marker_symbol != :default - str << '<c:marker><c:symbol val="' + @marker_symbol.to_s + '"/></c:marker>' + str << '<c:marker><c:symbol val="' << @marker_symbol.to_s << '"/></c:marker>' end @labels.to_xml_string(str) unless @labels.nil? diff --git a/lib/axlsx/drawing/pie_series.rb b/lib/axlsx/drawing/pie_series.rb index f3edd1e9..cce79648 100644 --- a/lib/axlsx/drawing/pie_series.rb +++ b/lib/axlsx/drawing/pie_series.rb @@ -46,7 +46,7 @@ module Axlsx # @return [String] def to_xml_string(str = +'') super(str) do - str << '<c:explosion val="' + @explosion.to_s + '"/>' unless @explosion.nil? + str << '<c:explosion val="' << @explosion.to_s << '"/>' unless @explosion.nil? colors.each_with_index do |c, index| str << '<c:dPt>' str << '<c:idx val="' << index.to_s << '"/>' diff --git a/lib/axlsx/drawing/scatter_series.rb b/lib/axlsx/drawing/scatter_series.rb index 9c6e12f2..9e3579f7 100644 --- a/lib/axlsx/drawing/scatter_series.rb +++ b/lib/axlsx/drawing/scatter_series.rb @@ -121,7 +121,7 @@ module Axlsx if !@show_marker '<c:symbol val="none"/>' elsif @marker_symbol != :default - '<c:symbol val="' + @marker_symbol.to_s + '"/>' + '<c:symbol val="' << @marker_symbol.to_s << '"/>' end.to_s end end diff --git a/lib/axlsx/rels/relationships.rb b/lib/axlsx/rels/relationships.rb index 3aa9c1bf..910f2473 100644 --- a/lib/axlsx/rels/relationships.rb +++ b/lib/axlsx/rels/relationships.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module Axlsx - require 'axlsx/rels/relationship.rb' + require 'axlsx/rels/relationship' # Relationships are a collection of Relations that define how package parts are related. # @note The package automatically manages releationships. diff --git a/lib/axlsx/stylesheet/color.rb b/lib/axlsx/stylesheet/color.rb index 24fe3bc3..0c40a073 100644 --- a/lib/axlsx/stylesheet/color.rb +++ b/lib/axlsx/stylesheet/color.rb @@ -73,7 +73,7 @@ module Axlsx # @param [String] str # @return [String] def to_xml_string(str = +'', tag_name = 'color') - serialized_tag('' + tag_name + '', str) + serialized_tag(tag_name.to_s, str) end end end diff --git a/lib/axlsx/stylesheet/styles.rb b/lib/axlsx/stylesheet/styles.rb index 625f6a02..c3dd8d06 100644 --- a/lib/axlsx/stylesheet/styles.rb +++ b/lib/axlsx/stylesheet/styles.rb @@ -1,23 +1,23 @@ # frozen_string_literal: true module Axlsx - require 'axlsx/stylesheet/border.rb' - require 'axlsx/stylesheet/border_pr.rb' - require 'axlsx/stylesheet/cell_alignment.rb' - require 'axlsx/stylesheet/cell_style.rb' - require 'axlsx/stylesheet/color.rb' - require 'axlsx/stylesheet/fill.rb' - require 'axlsx/stylesheet/font.rb' - require 'axlsx/stylesheet/gradient_fill.rb' - require 'axlsx/stylesheet/gradient_stop.rb' - require 'axlsx/stylesheet/num_fmt.rb' - require 'axlsx/stylesheet/pattern_fill.rb' - require 'axlsx/stylesheet/table_style.rb' - require 'axlsx/stylesheet/table_styles.rb' - require 'axlsx/stylesheet/table_style_element.rb' - require 'axlsx/stylesheet/dxf.rb' - require 'axlsx/stylesheet/xf.rb' - require 'axlsx/stylesheet/cell_protection.rb' + require 'axlsx/stylesheet/border' + require 'axlsx/stylesheet/border_pr' + require 'axlsx/stylesheet/cell_alignment' + require 'axlsx/stylesheet/cell_style' + require 'axlsx/stylesheet/color' + require 'axlsx/stylesheet/fill' + require 'axlsx/stylesheet/font' + require 'axlsx/stylesheet/gradient_fill' + require 'axlsx/stylesheet/gradient_stop' + require 'axlsx/stylesheet/num_fmt' + require 'axlsx/stylesheet/pattern_fill' + require 'axlsx/stylesheet/table_style' + require 'axlsx/stylesheet/table_styles' + require 'axlsx/stylesheet/table_style_element' + require 'axlsx/stylesheet/dxf' + require 'axlsx/stylesheet/xf' + require 'axlsx/stylesheet/cell_protection' # The Styles class manages worksheet styles # In addition to creating the require style objects for a valid xlsx package, this class provides the key mechanism for adding styles to your workbook, and safely applying them to the cells of your worksheet. @@ -390,24 +390,22 @@ module Axlsx if options[:border].nil? base_border_opts = {} - else - if options[:border].is_a?(Array) - borders_array += options[:border] + elsif options[:border].is_a?(Array) + borders_array += options[:border] - base_border_opts = {} + base_border_opts = {} - options[:border].each do |b_opts| - if b_opts[:edges].nil? - base_border_opts = base_border_opts.merge(b_opts) - end + options[:border].each do |b_opts| + if b_opts[:edges].nil? + base_border_opts = base_border_opts.merge(b_opts) end - else - borders_array << options[:border] + end + else + borders_array << options[:border] - base_border_opts = options[:border] + base_border_opts = options[:border] - validate_border_hash.call(base_border_opts) - end + validate_border_hash.call(base_border_opts) end Border::EDGES.each do |edge| diff --git a/lib/axlsx/util/constants.rb b/lib/axlsx/util/constants.rb index 459e0099..0767be31 100644 --- a/lib/axlsx/util/constants.rb +++ b/lib/axlsx/util/constants.rb @@ -239,25 +239,25 @@ module Axlsx COMMENT_PN = "comments%d.xml" # location of schema files for validation - SCHEMA_BASE = (File.dirname(__FILE__) + '/../../schema/').freeze + SCHEMA_BASE = "#{File.dirname(__FILE__)}/../../schema/" # App validation schema - APP_XSD = (SCHEMA_BASE + "shared-documentPropertiesExtended.xsd").freeze + APP_XSD = "#{SCHEMA_BASE}shared-documentPropertiesExtended.xsd" # core validation schema - CORE_XSD = (SCHEMA_BASE + "opc-coreProperties.xsd").freeze + CORE_XSD = "#{SCHEMA_BASE}opc-coreProperties.xsd" # content types validation schema - CONTENT_TYPES_XSD = (SCHEMA_BASE + "opc-contentTypes.xsd").freeze + CONTENT_TYPES_XSD = "#{SCHEMA_BASE}opc-contentTypes.xsd" # rels validation schema - RELS_XSD = (SCHEMA_BASE + "opc-relationships.xsd").freeze + RELS_XSD = "#{SCHEMA_BASE}opc-relationships.xsd" # spreadsheetML validation schema - SML_XSD = (SCHEMA_BASE + "sml.xsd").freeze + SML_XSD = "#{SCHEMA_BASE}sml.xsd" # drawing validation schema - DRAWING_XSD = (SCHEMA_BASE + "dml-spreadsheetDrawing.xsd").freeze + DRAWING_XSD = "#{SCHEMA_BASE}dml-spreadsheetDrawing.xsd" # number format id for pecentage formatting using the default formatting id. NUM_FMT_PERCENT = 9 diff --git a/lib/axlsx/util/simple_typed_list.rb b/lib/axlsx/util/simple_typed_list.rb index c3910fca..30cfd2a5 100644 --- a/lib/axlsx/util/simple_typed_list.rb +++ b/lib/axlsx/util/simple_typed_list.rb @@ -15,6 +15,12 @@ module Axlsx undef_method name end + # We often call index(element) on instances of SimpleTypedList. Thus, we do not want to inherit Array + # implementation of == / eql? which walks the elements calling == / eql?. Instead we want the fast + # and original versions from BasicObject. + alias :== :equal? + alias :eql? :equal? + # Creats a new typed list # @param [Array, Class] type An array of Class objects or a single Class object # @param [String] serialize_as The tag name to use in serialization @@ -85,12 +91,12 @@ module Axlsx end # join operator - # @param [Array] v the array to join + # @param [Array] other the array to join # @raise [ArgumentError] if any of the values being joined are not # one of the allowed types # @return [SimpleTypedList] - def +(v) - v.each do |item| + def +(other) + other.each do |item| self << item end super diff --git a/lib/axlsx/workbook/workbook.rb b/lib/axlsx/workbook/workbook.rb index 95d3e4a7..ec80d6dc 100644 --- a/lib/axlsx/workbook/workbook.rb +++ b/lib/axlsx/workbook/workbook.rb @@ -1,41 +1,41 @@ # frozen_string_literal: true module Axlsx - require 'axlsx/workbook/worksheet/sheet_calc_pr.rb' - require 'axlsx/workbook/worksheet/auto_filter/auto_filter.rb' - require 'axlsx/workbook/worksheet/date_time_converter.rb' - require 'axlsx/workbook/worksheet/protected_range.rb' - require 'axlsx/workbook/worksheet/protected_ranges.rb' + require 'axlsx/workbook/worksheet/sheet_calc_pr' + require 'axlsx/workbook/worksheet/auto_filter/auto_filter' + require 'axlsx/workbook/worksheet/date_time_converter' + require 'axlsx/workbook/worksheet/protected_range' + require 'axlsx/workbook/worksheet/protected_ranges' require 'axlsx/workbook/worksheet/rich_text_run' require 'axlsx/workbook/worksheet/rich_text' - require 'axlsx/workbook/worksheet/cell_serializer.rb' - require 'axlsx/workbook/worksheet/cell.rb' - require 'axlsx/workbook/worksheet/page_margins.rb' - require 'axlsx/workbook/worksheet/page_set_up_pr.rb' - require 'axlsx/workbook/worksheet/outline_pr.rb' - require 'axlsx/workbook/worksheet/page_setup.rb' - require 'axlsx/workbook/worksheet/header_footer.rb' - require 'axlsx/workbook/worksheet/print_options.rb' - require 'axlsx/workbook/worksheet/cfvo.rb' - require 'axlsx/workbook/worksheet/cfvos.rb' - require 'axlsx/workbook/worksheet/color_scale.rb' - require 'axlsx/workbook/worksheet/data_bar.rb' - require 'axlsx/workbook/worksheet/icon_set.rb' - require 'axlsx/workbook/worksheet/conditional_formatting.rb' - require 'axlsx/workbook/worksheet/conditional_formatting_rule.rb' - require 'axlsx/workbook/worksheet/conditional_formattings.rb' - require 'axlsx/workbook/worksheet/row.rb' - require 'axlsx/workbook/worksheet/col.rb' - require 'axlsx/workbook/worksheet/cols.rb' - require 'axlsx/workbook/worksheet/comments.rb' - require 'axlsx/workbook/worksheet/comment.rb' - require 'axlsx/workbook/worksheet/merged_cells.rb' - require 'axlsx/workbook/worksheet/sheet_protection.rb' - require 'axlsx/workbook/worksheet/sheet_pr.rb' - require 'axlsx/workbook/worksheet/dimension.rb' - require 'axlsx/workbook/worksheet/sheet_data.rb' - require 'axlsx/workbook/worksheet/worksheet_drawing.rb' - require 'axlsx/workbook/worksheet/worksheet_comments.rb' + require 'axlsx/workbook/worksheet/cell_serializer' + require 'axlsx/workbook/worksheet/cell' + require 'axlsx/workbook/worksheet/page_margins' + require 'axlsx/workbook/worksheet/page_set_up_pr' + require 'axlsx/workbook/worksheet/outline_pr' + require 'axlsx/workbook/worksheet/page_setup' + require 'axlsx/workbook/worksheet/header_footer' + require 'axlsx/workbook/worksheet/print_options' + require 'axlsx/workbook/worksheet/cfvo' + require 'axlsx/workbook/worksheet/cfvos' + require 'axlsx/workbook/worksheet/color_scale' + require 'axlsx/workbook/worksheet/data_bar' + require 'axlsx/workbook/worksheet/icon_set' + require 'axlsx/workbook/worksheet/conditional_formatting' + require 'axlsx/workbook/worksheet/conditional_formatting_rule' + require 'axlsx/workbook/worksheet/conditional_formattings' + require 'axlsx/workbook/worksheet/row' + require 'axlsx/workbook/worksheet/col' + require 'axlsx/workbook/worksheet/cols' + require 'axlsx/workbook/worksheet/comments' + require 'axlsx/workbook/worksheet/comment' + require 'axlsx/workbook/worksheet/merged_cells' + require 'axlsx/workbook/worksheet/sheet_protection' + require 'axlsx/workbook/worksheet/sheet_pr' + require 'axlsx/workbook/worksheet/dimension' + require 'axlsx/workbook/worksheet/sheet_data' + require 'axlsx/workbook/worksheet/worksheet_drawing' + require 'axlsx/workbook/worksheet/worksheet_comments' require 'axlsx/workbook/worksheet/worksheet_hyperlink' require 'axlsx/workbook/worksheet/worksheet_hyperlinks' require 'axlsx/workbook/worksheet/break' @@ -43,22 +43,22 @@ module Axlsx require 'axlsx/workbook/worksheet/col_breaks' require 'axlsx/workbook/workbook_view' require 'axlsx/workbook/workbook_views' - require 'axlsx/workbook/worksheet/worksheet.rb' - require 'axlsx/workbook/shared_strings_table.rb' - require 'axlsx/workbook/defined_name.rb' - require 'axlsx/workbook/defined_names.rb' - require 'axlsx/workbook/worksheet/table_style_info.rb' - require 'axlsx/workbook/worksheet/table.rb' - require 'axlsx/workbook/worksheet/tables.rb' - require 'axlsx/workbook/worksheet/pivot_table_cache_definition.rb' - require 'axlsx/workbook/worksheet/pivot_table.rb' - require 'axlsx/workbook/worksheet/pivot_tables.rb' - require 'axlsx/workbook/worksheet/data_validation.rb' - require 'axlsx/workbook/worksheet/data_validations.rb' - require 'axlsx/workbook/worksheet/sheet_view.rb' - require 'axlsx/workbook/worksheet/sheet_format_pr.rb' - require 'axlsx/workbook/worksheet/pane.rb' - require 'axlsx/workbook/worksheet/selection.rb' + require 'axlsx/workbook/worksheet/worksheet' + require 'axlsx/workbook/shared_strings_table' + require 'axlsx/workbook/defined_name' + require 'axlsx/workbook/defined_names' + require 'axlsx/workbook/worksheet/table_style_info' + require 'axlsx/workbook/worksheet/table' + require 'axlsx/workbook/worksheet/tables' + require 'axlsx/workbook/worksheet/pivot_table_cache_definition' + require 'axlsx/workbook/worksheet/pivot_table' + require 'axlsx/workbook/worksheet/pivot_tables' + require 'axlsx/workbook/worksheet/data_validation' + require 'axlsx/workbook/worksheet/data_validations' + require 'axlsx/workbook/worksheet/sheet_view' + require 'axlsx/workbook/worksheet/sheet_format_pr' + require 'axlsx/workbook/worksheet/pane' + require 'axlsx/workbook/worksheet/selection' # The Workbook class is an xlsx workbook that manages worksheets, charts, drawings and styles. # The following parts of the Office Open XML spreadsheet specification are not implimented in this version. diff --git a/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb b/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb index 5a74d79a..f25966de 100644 --- a/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +++ b/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require 'axlsx/workbook/worksheet/auto_filter/filter_column.rb' -require 'axlsx/workbook/worksheet/auto_filter/filters.rb' +require 'axlsx/workbook/worksheet/auto_filter/filter_column' +require 'axlsx/workbook/worksheet/auto_filter/filters' module Axlsx # This class represents an auto filter range in a worksheet diff --git a/lib/axlsx/workbook/worksheet/cell.rb b/lib/axlsx/workbook/worksheet/cell.rb index 09cf2064..b4f826c2 100644 --- a/lib/axlsx/workbook/worksheet/cell.rb +++ b/lib/axlsx/workbook/worksheet/cell.rb @@ -73,6 +73,9 @@ module Axlsx CELL_TYPES = [:date, :time, :float, :integer, :richtext, :string, :boolean, :iso_8601, :text].freeze + # A regular expression to match the alpha(column)numeric(row) reference of a cell + CELL_REFERENCE_REGEX = /([A-Z]+)([0-9]+)/.freeze + # The index of the cellXfs item to be applied to this cell. # @return [Integer] # @see Axlsx::Styles @@ -345,11 +348,11 @@ module Axlsx Axlsx::cell_r index, @row.row_index end - # @return [String] The absolute alpha(column)numeric(row) reference for this sell. + # @return [String] The absolute alpha(column)numeric(row) reference for this cell. # @example Absolute Cell Reference # ws.rows.first.cells.first.r #=> "$A$1" def r_abs - "$#{r.match(/([A-Z]+)([0-9]+)/)[1, 2].join('$')}" + "$#{CELL_REFERENCE_REGEX.match(r)[1, 2].join('$')}" end # @return [Integer] The cellXfs item index applied to this cell. diff --git a/lib/axlsx/workbook/worksheet/dimension.rb b/lib/axlsx/workbook/worksheet/dimension.rb index 42e02e72..f27404b6 100644 --- a/lib/axlsx/workbook/worksheet/dimension.rb +++ b/lib/axlsx/workbook/worksheet/dimension.rb @@ -39,7 +39,7 @@ module Axlsx def to_xml_string(str = +'') return if worksheet.rows.empty? - str << "<dimension ref=\"%s\"></dimension>" % sqref + str << '<dimension ref="' << sqref << '"></dimension>' end # The first cell in the dimension diff --git a/lib/axlsx/workbook/worksheet/merged_cells.rb b/lib/axlsx/workbook/worksheet/merged_cells.rb index c0ca1ebe..c3fb6dde 100644 --- a/lib/axlsx/workbook/worksheet/merged_cells.rb +++ b/lib/axlsx/workbook/worksheet/merged_cells.rb @@ -12,7 +12,7 @@ module Axlsx end # adds cells to the merged cells collection - # @param [Array||String] cells The cells to add to the merged cells + # @param [Array|String] cells The cells to add to the merged cells # collection. This can be an array of actual cells or a string style # range like 'A1:C1' def add(cells) @@ -20,8 +20,6 @@ module Axlsx cells elsif cells.is_a?(Array) Axlsx::cell_range(cells, false) - elsif cells.is_a?(Row) - Axlsx::cell_range(cells, false) end end diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb index 8c6e53b4..aaeadb11 100644 --- a/lib/axlsx/workbook/worksheet/worksheet.rb +++ b/lib/axlsx/workbook/worksheet/worksheet.rb @@ -45,7 +45,7 @@ module Axlsx # The name of the worksheet # @return [String] def name - @name ||= "Sheet" + (index + 1).to_s + @name ||= "Sheet#{index + 1}" end # Whether to treat values starting with an equals sign as formulas or as literal strings. diff --git a/lib/caxlsx.rb b/lib/caxlsx.rb index e97cd68c..d2b96503 100644 --- a/lib/caxlsx.rb +++ b/lib/caxlsx.rb @@ -1,3 +1,3 @@ # frozen_string_literal: true -require 'axlsx.rb' +require 'axlsx' |
