Class: Axlsx::Row
- Inherits:
-
SimpleTypedList
- Object
- SimpleTypedList
- Axlsx::Row
- Includes:
- Accessors, SerializedAttributes
- Defined in:
- lib/axlsx/workbook/worksheet/row.rb
Overview
The recommended way to manage rows and cells is to use Worksheet#add_row
A Row is a single row in a worksheet.
Instance Attribute Summary collapse
-
#outline_level ⇒ Integer
(also: #outlineLevel)
Outlining level of the row, when outlining is on.
-
#s ⇒ Integer
The style applied to the row.
-
#worksheet ⇒ Worksheet
readonly
The worksheet this row belongs to.
Instance Method Summary collapse
-
#add_cell(value = '', options = {}) ⇒ Cell
Adds a single cell to the row based on the data provided and updates the worksheet's autofit data.
-
#cells ⇒ Object
return cells.
-
#color=(color) ⇒ Object
sets the color for every cell in this row.
-
#height ⇒ Float
Row height measured in point size.
- #height=(v) ⇒ Object
-
#initialize(worksheet, values = [], options = {}) ⇒ Row
constructor
A new cell is created for each item in the values array.
-
#row_index ⇒ Integer
The index of this row in the worksheet.
-
#style=(style) ⇒ Object
sets the style for every cell in this row.
-
#to_xml_string(r_index, str = '') ⇒ String
Serializes the row.
Methods included from SerializedAttributes
#declared_attributes, included, #serialized_attributes, #serialized_element_attributes, #serialized_tag
Constructor Details
#initialize(worksheet, values = [], options = {}) ⇒ Row
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.
31 32 33 34 35 36 37 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 31 def initialize(worksheet, values=[], ={}) self.worksheet = worksheet super(Cell, nil, values.size + [:offset].to_i) self.height = .delete(:height) worksheet.rows << self array_to_cells(values, ) end |
Instance Attribute Details
#outline_level ⇒ Integer Also known as: outlineLevel
Outlining level of the row, when outlining is on
57 58 59 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 57 def outline_level @outline_level end |
#s ⇒ Integer
The style applied to the row. This affects the entire row.
62 63 64 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 62 def s @s end |
#worksheet ⇒ Worksheet
The worksheet this row belongs to
47 48 49 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 47 def worksheet @worksheet end |
Instance Method Details
#add_cell(value = '', options = {}) ⇒ Cell
Adds a single cell to the row based on the data provided and updates the worksheet's autofit data.
100 101 102 103 104 105 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 100 def add_cell(value = '', = {}) c = Cell.new(self, value, ) self << c worksheet.send(:update_column_info, self, []) c end |
#cells ⇒ Object
return cells
131 132 133 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 131 def cells self end |
#color=(color) ⇒ Object
sets the color for every cell in this row
108 109 110 111 112 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 108 def color=(color) each_with_index do | cell, index | cell.color = color.is_a?(Array) ? color[index] : color end end |
#height ⇒ Float
Row height measured in point size. There is no margin padding on row height.
51 52 53 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 51 def height defined?(@ht) ? @ht : nil end |
#height=(v) ⇒ Object
122 123 124 125 126 127 128 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 122 def height=(v) unless v.nil? Axlsx::validate_unsigned_numeric(v) @custom_height = true @ht = v end end |
#row_index ⇒ Integer
The index of this row in the worksheet
81 82 83 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 81 def row_index worksheet.rows.index(self) end |
#style=(style) ⇒ Object
sets the style for every cell in this row
115 116 117 118 119 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 115 def style=(style) each_with_index do | cell, index | cell.style = style.is_a?(Array) ? style[index] : style end end |
#to_xml_string(r_index, str = '') ⇒ String
Serializes the row
89 90 91 92 93 94 95 96 |
# File 'lib/axlsx/workbook/worksheet/row.rb', line 89 def to_xml_string(r_index, str = '') serialized_tag('row', str, :r => r_index + 1) do tmp = '' # time / memory tradeoff, lots of calls to rubyzip costs more # time.. each_with_index { |cell, c_index| cell.to_xml_string(r_index, c_index, tmp) } str << tmp end end |