class RubyXL::Cell
Public Instance Methods
column()
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 47 def column r && r.first_col end
column=(v)
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 51 def column=(v) self.r = RubyXL::Reference.new(row || 0, v) end
index_in_collection()
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 35 def index_in_collection r.col_range.begin end
inspect()
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 91 def inspect str = "#<#{self.class}(#{row},#{column}): #{raw_value.inspect}" str += " =#{self.formula.expression}" if self.formula str += ", datatype=#{self.datatype.inspect}, style_index=#{self.style_index.inspect}>" return str end
is_date?()
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 68 def is_date? return false unless raw_value =~ /\A\d+(?:\.\d+)?\Z/ # Only fully numeric values can be dates num_fmt = self.number_format num_fmt && num_fmt.is_date_format? end
number_format()
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 64 def number_format workbook.stylesheet.get_number_format_by_id(get_cell_xf.num_fmt_id) end
raw_value()
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 55 def raw_value value_container && value_container.value end
raw_value=(v)
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 59 def raw_value=(v) self.value_container ||= RubyXL::CellValue.new value_container.value = v end
row()
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 39 def row r && r.first_row end
row=(v)
click to toggle source
# File lib/rubyXL/objects/sheet_data.rb, line 43 def row=(v) self.r = RubyXL::Reference.new(v, column || 0) end
value(args = {})
click to toggle source
Gets massaged value of the cell, converting datatypes to those known to Ruby (that includes stripping any special formatting from RichText).
# File lib/rubyXL/objects/sheet_data.rb, line 76 def value(args = {}) case datatype when RubyXL::DataType::SHARED_STRING then workbook.shared_strings_container[raw_value.to_i].to_s when RubyXL::DataType::RAW_STRING then raw_value else if is_date? then workbook.num_to_date(raw_value.to_f) elsif raw_value.is_a?(String) && (raw_value =~ /\A-?\d+(\.\d+(?:e[+-]\d+)?)?\Z/i) then # Numeric if $1 then raw_value.to_f else raw_value.to_i end else raw_value end end end