class Axlsx::StrData

This specifies the last string data used for a chart. (e.g. strLit and strCache)

This class is extended for NumData to include the formatCode attribute required for numLit and numCache

Public Class Methods

new(options={}) click to toggle source

creates a new StrVal object @option options [Array] :data @option options [String] :tag_name

# File lib/axlsx/drawing/str_data.rb, line 12
def initialize(options={})
  @tag_prefix = :str
  @type = StrVal
  @pt = SimpleTypedList.new(@type)
  parse_options options
end

Public Instance Methods

data=(values=[]) click to toggle source

Creates the val objects for this data set. I am not overly confident this is going to play nicely with time and data types. @param [Array] values An array of cells or values.

# File lib/axlsx/drawing/str_data.rb, line 21
def data=(values=[])
  @tag_name = values.first.is_a?(Cell) ? :strCache : :strLit
  values.each do |value|
    v = value.is_a?(Cell) ? value.value : value
    @pt << @type.new(:v => v)
  end
end
to_xml_string(str = "") click to toggle source

serialize the object

# File lib/axlsx/drawing/str_data.rb, line 30
def to_xml_string(str = "")
  str << '<c:' << @tag_name.to_s << '>'
  str << '<c:ptCount val="' << @pt.size.to_s << '"/>'
  @pt.each_with_index do |value, index|
    value.to_xml_string index, str
  end
  str << '</c:' << @tag_name.to_s << '>'
end