Module: FastExcel::WorksheetExt

Defined in:
lib/fast_excel.rb

Instance Method Summary collapse

Instance Method Details

#write_row(row_number, values, formats = nil) ⇒ Object



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/fast_excel.rb', line 87

def write_row(row_number, values, formats = nil)
  values.each_with_index do |value, index|
    format = if formats
      formats.is_a?(Array) ? formats[index] : formats
    end

    if value.is_a?(Integer) || value.is_a?(Numeric) || value.is_a?(Float)
      write_number(row_number, index, value, format)
    elsif defined?(BigDecimal) && value.is_a?(BigDecimal)
      write_number(row_number, index, value.to_f, format)
    elsif defined?(DateTime) && value.is_a?(DateTime)
      write_datetime(row_number, index, FastExcel.lxw_datetime(value), format)
    elsif value.is_a?(Time)
      write_datetime(row_number, index, FastExcel.lxw_time(value), format)
    else
      write_string(row_number, index, value.to_s, format)
    end
  end
end