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>"