Class: Axlsx::Row

Inherits:
Object
  • Object
show all
Defined in:
lib/axlsx/workbook/worksheet/row.rb

Overview

Note:

The recommended way to manage rows and cells is to use Worksheet#add_row

A Row is a single row in a worksheet.

See Also:

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (Row) initialize(worksheet, values = [], options = {})

Creates a new row. New Cell objects are created based on the values, types and style options. A new cell is created for each item in the values array. style and types options are applied as follows:

  If the types option is defined and is a symbol it is applied to all the cells created.
  If the types option is an array, cell types are applied by index for each cell
  If the types option is not set, the cell will automatically determine its type.
  If the style option is defined and is an Integer, it is applied to all cells created.
  If the style option is an array, style is applied by index for each cell.
  If the style option is not defined, the default style (0) is applied to each cell.

Parameters:

  • worksheet (Worksheet)
  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • values (Array)
  • types (Array, Symbol)
  • style (Array, Integer)

See Also:



33
34
35
36
37
38
# File 'lib/axlsx/workbook/worksheet/row.rb', line 33

def initialize(worksheet, values=[], options={})
  self.worksheet = worksheet
  @cells = SimpleTypedList.new Cell
  @worksheet.rows << self
  array_to_cells(values, options)
end

Instance Attribute Details

- (SimpleTypedList) cells (readonly)

The cells this row holds

Returns:



13
14
15
# File 'lib/axlsx/workbook/worksheet/row.rb', line 13

def cells
  @cells
end

- (Integer) index (readonly)

The index of this row in the worksheet

Returns:

  • (Integer)


17
18
19
# File 'lib/axlsx/workbook/worksheet/row.rb', line 17

def index 
  worksheet.rows.index(self)
end

- (Worksheet) worksheet

The worksheet this row belongs to

Returns:



9
10
11
# File 'lib/axlsx/workbook/worksheet/row.rb', line 9

def worksheet
  @worksheet
end

Instance Method Details

- (Cell) add_cell(value = "", options = {})

Adds a singel sell to the row based on the data provided and updates the worksheet’s autofit data.

Returns:



53
54
55
56
57
# File 'lib/axlsx/workbook/worksheet/row.rb', line 53

def add_cell(value="", options={})
  c = Cell.new(self, value, options)
  update_auto_fit_data
  c
end

- (String) to_xml(xml)

Serializes the row

Parameters:

  • xml (Nokogiri::XML::Builder)

    The document builder instance this objects xml will be added to.

Returns:

  • (String)


47
48
49
# File 'lib/axlsx/workbook/worksheet/row.rb', line 47

def to_xml(xml)
  xml.row(:r => index+1) { @cells.each { |cell| cell.to_xml(xml) } }
end