lib/axlsx/workbook/worksheet/cell.rb in axlsx-1.1.5 vs lib/axlsx/workbook/worksheet/cell.rb in axlsx-1.1.6
- old
+ new
@@ -193,11 +193,11 @@
# @option options [Integer] sz
# @option options [String] color an 8 letter rgb specification
# @option options [Symbol] scheme must be one of :none, major, :minor
def initialize(row, value="", options={})
self.row=row
- @font_name = @charset = @family = @b = @i = @strike = @outline = @shadow = nil
+ @value = @font_name = @charset = @family = @b = @i = @strike = @outline = @shadow = nil
@condense = @u = @vertAlign = @sz = @color = @scheme = @extend = @ssti = nil
@styles = row.worksheet.workbook.styles
@row.cells << self
options.each do |o|
self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
@@ -259,21 +259,20 @@
# builds an xml text run based on this cells attributes.
# @param [String] str The string instance this run will be concated to.
# @return [String]
def run_xml_string(str = '')
if is_text_run?
- data = self.instance_values.reject{|key, value| value == nil }
+ data = instance_values.reject{|key, value| value == nil || key == 'value' || key == 'type' }
keys = data.keys & INLINE_STYLES
- keys.delete ['value', 'type']
str << "<r><rPr>"
keys.each do |key|
case key
when 'font_name'
str << "<rFont val='"<< @font_name << "'/>"
when 'color'
str << data[key].to_xml_string
else
- "<" << key.to_s << " val='" << data[key].to_s << "'/>"
+ str << "<" << key.to_s << " val='" << data[key].to_s << "'/>"
end
end
str << "</rPr>" << "<t>" << value.to_s << "</t></r>"
else
str << "<t>" << value.to_s << "</t>"