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



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/fast_excel.rb', line 113

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