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.
378 379 380 |
# File 'lib/fast_excel.rb', line 378 def workbook @workbook end |
Instance Method Details
#append_row(values, formats = nil) ⇒ Object
413 414 415 416 |
# File 'lib/fast_excel.rb', line 413 def append_row(values, formats = nil) increment_last_row_number! write_row(last_row_number, values, formats) end |
#increment_last_row_number! ⇒ Object
422 423 424 |
# File 'lib/fast_excel.rb', line 422 def increment_last_row_number! @last_row_number = last_row_number + 1 end |
#last_row_number ⇒ Object
418 419 420 |
# File 'lib/fast_excel.rb', line 418 def last_row_number defined?(@last_row_number) ? @last_row_number : -1 end |
#set_column(start_col, end_col, width, format = nil) ⇒ Object
426 427 428 |
# File 'lib/fast_excel.rb', line 426 def set_column(start_col, end_col, width, format = nil) super(start_col, end_col, width, format) end |
#set_column_width(col, width) ⇒ Object
430 431 432 |
# File 'lib/fast_excel.rb', line 430 def set_column_width(col, width) set_column(col, col, width, nil) end |
#set_columns_width(start_col, end_col, width) ⇒ Object
434 435 436 |
# File 'lib/fast_excel.rb', line 434 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
382 383 384 385 386 387 388 389 390 |
# File 'lib/fast_excel.rb', line 382 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
392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 |
# File 'lib/fast_excel.rb', line 392 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?(DateTime) && value.is_a?(DateTime) write_datetime(row_number, cell_number, FastExcel.lxw_datetime(value), 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 |