Module: FastExcel::WorksheetExt

Includes:
AttributeHelper
Defined in:
lib/fast_excel.rb

Instance Method Summary collapse

Methods included from AttributeHelper

#pretty_print, #set

Instance Method Details

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



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
# File 'lib/fast_excel.rb', line 169

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