Module: FastExcel::WorksheetExt
- Includes:
- AttributeHelper
- Defined in:
- lib/fast_excel.rb
Instance Attribute Summary collapse
-
#workbook ⇒ Object
Returns the value of attribute workbook.
Instance Method Summary collapse
- #append_row(values, formats = nil) ⇒ Object
- #increment_last_row_number! ⇒ Object
- #last_row_number ⇒ Object
- #set_column(start_col, end_col, width, format = nil) ⇒ Object
- #set_column_width(col, width) ⇒ Object
- #set_columns_width(start_col, end_col, width) ⇒ Object
- #write_row(row_number, values, formats = nil) ⇒ Object
- #write_value(row_number, cell_number, value, format = nil) ⇒ Object
Methods included from AttributeHelper
#fields_hash, #pretty_print, #set
Instance Attribute Details
#workbook ⇒ Object
Returns the value of attribute workbook.
394 395 396 |
# File 'lib/fast_excel.rb', line 394 def workbook @workbook end |
Instance Method Details
#append_row(values, formats = nil) ⇒ Object
429 430 431 432 |
# File 'lib/fast_excel.rb', line 429 def append_row(values, formats = nil) increment_last_row_number! write_row(last_row_number, values, formats) end |
#increment_last_row_number! ⇒ Object
438 439 440 |
# File 'lib/fast_excel.rb', line 438 def increment_last_row_number! @last_row_number = last_row_number + 1 end |
#last_row_number ⇒ Object
434 435 436 |
# File 'lib/fast_excel.rb', line 434 def last_row_number defined?(@last_row_number) ? @last_row_number : -1 end |
#set_column(start_col, end_col, width, format = nil) ⇒ Object
442 443 444 |
# File 'lib/fast_excel.rb', line 442 def set_column(start_col, end_col, width, format = nil) super(start_col, end_col, width, format) end |
#set_column_width(col, width) ⇒ Object
446 447 448 |
# File 'lib/fast_excel.rb', line 446 def set_column_width(col, width) set_column(col, col, width, nil) end |
#set_columns_width(start_col, end_col, width) ⇒ Object
450 451 452 |
# File 'lib/fast_excel.rb', line 450 def set_columns_width(start_col, end_col, width) set_column(start_col, end_col, width, nil) end |
#write_row(row_number, values, formats = nil) ⇒ Object
398 399 400 401 402 403 404 405 406 |
# File 'lib/fast_excel.rb', line 398 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 write_value(row_number, index, value, format) end end |
#write_value(row_number, cell_number, value, format = nil) ⇒ Object
408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 |
# File 'lib/fast_excel.rb', line 408 def write_value(row_number, cell_number, value, format = nil) if workbook.constant_memory? && row_number < last_row_number raise ArgumentError, "Can not write to saved row in constant_memory mode (attempted row: #{row_number}, last saved row: #{last_row_number})" end if value.is_a?(Numeric) write_number(row_number, cell_number, value, format) elsif defined?(Date) && value.is_a?(Date) write_datetime(row_number, cell_number, FastExcel.lxw_datetime(value.to_datetime), format) elsif value.is_a?(Time) write_datetime(row_number, cell_number, FastExcel.lxw_time(value), format) elsif value.is_a?(Formula) write_formula(row_number, cell_number, value.fml, format) else write_string(row_number, cell_number, value.to_s, format) end @last_row_number = row_number > last_row_number ? row_number : last_row_number end |