module RubyXL::CellConvenienceMethods

Public Instance Methods

change_border(direction, weight) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 67
def change_border(direction, weight)
  validate_worksheet
  self.style_index = workbook.modify_border(self.style_index, direction, weight)
end
change_border_color(direction, color) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 72
def change_border_color(direction, color)
  validate_worksheet
  Color.validate_color(color)
  self.style_index = workbook.modify_border_color(self.style_index, direction, color)
end
change_contents(data, formula_expression = nil) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 4
def change_contents(data, formula_expression = nil)
  validate_worksheet

  if formula_expression then
    self.datatype = nil
    self.formula = RubyXL::Formula.new(:expression => formula_expression)
  else
    self.datatype = case data
                    when Date, Numeric then nil
                    else RubyXL::DataType::RAW_STRING
                    end
  end

  data = workbook.date_to_num(data) if data.is_a?(Date)

  self.raw_value = data
end
change_fill(rgb = 'ffffff') click to toggle source

Changes fill color of cell

# File lib/rubyXL/convenience_methods/cell.rb, line 161
def change_fill(rgb = 'ffffff')
  validate_worksheet
  Color.validate_color(rgb)
  self.style_index = workbook.modify_fill(self.style_index, rgb)
end
change_font_bold(bolded = false) click to toggle source

Changes font bold settings of cell

# File lib/rubyXL/convenience_methods/cell.rb, line 206
def change_font_bold(bolded = false)
  validate_worksheet

  font = get_cell_font.dup
  font.set_bold(bolded)
  update_font_references(font)
end
change_font_color(font_color = '000000') click to toggle source

Changes font color of cell

# File lib/rubyXL/convenience_methods/cell.rb, line 187
def change_font_color(font_color = '000000')
  validate_worksheet
  Color.validate_color(font_color)

  font = get_cell_font.dup
  font.set_rgb_color(font_color)
  update_font_references(font)
end
change_font_italics(italicized = false) click to toggle source

Changes font italics settings of cell

# File lib/rubyXL/convenience_methods/cell.rb, line 197
def change_font_italics(italicized = false)
  validate_worksheet

  font = get_cell_font.dup
  font.set_italic(italicized)
  update_font_references(font)
end
change_font_name(new_font_name = 'Verdana') click to toggle source

Changes font name of cell

# File lib/rubyXL/convenience_methods/cell.rb, line 168
def change_font_name(new_font_name = 'Verdana')
  validate_worksheet

  font = get_cell_font.dup
  font.set_name(new_font_name)
  update_font_references(font)
end
change_font_size(font_size = 10) click to toggle source

Changes font size of cell

# File lib/rubyXL/convenience_methods/cell.rb, line 177
def change_font_size(font_size = 10)
  validate_worksheet
  raise 'Argument must be a number' unless font_size.is_a?(Integer) || font_size.is_a?(Float)

  font = get_cell_font.dup
  font.set_size(font_size)
  update_font_references(font)
end
change_font_strikethrough(struckthrough = false) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 223
def change_font_strikethrough(struckthrough = false)
  validate_worksheet

  font = get_cell_font.dup
  font.set_strikethrough(struckthrough)
  update_font_references(font)
end
change_font_underline(underlined = false) click to toggle source

Changes font underline settings of cell

# File lib/rubyXL/convenience_methods/cell.rb, line 215
def change_font_underline(underlined = false)
  validate_worksheet

  font = get_cell_font.dup
  font.set_underline(underlined)
  update_font_references(font)
end
change_horizontal_alignment(alignment = 'center') click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 42
def change_horizontal_alignment(alignment = 'center')
  validate_worksheet
  self.style_index = workbook.modify_alignment(self.style_index) { |a| a.horizontal = alignment }
end
change_text_indent(indent) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 62
def change_text_indent(indent)
  validate_worksheet
  self.style_index = workbook.modify_alignment(self.style_index) { |a| a.indent = indent }
end
change_text_rotation(rot) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 57
def change_text_rotation(rot)
  validate_worksheet
  self.style_index = workbook.modify_alignment(self.style_index) { |a| a.text_rotation = rot }
end
change_text_wrap(wrap = false) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 52
def change_text_wrap(wrap = false)
  validate_worksheet
  self.style_index = workbook.modify_alignment(self.style_index) { |a| a.wrap_text = wrap }
end
change_vertical_alignment(alignment = 'center') click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 47
def change_vertical_alignment(alignment = 'center')
  validate_worksheet
  self.style_index = workbook.modify_alignment(self.style_index) { |a| a.vertical = alignment }
end
fill_color() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 113
def fill_color()
  validate_worksheet
  return workbook.get_fill_color(get_cell_xf)
end
font_color() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 108
def font_color()
  validate_worksheet
  get_cell_font.get_rgb_color || '000000'
end
font_name() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 98
def font_name()
  validate_worksheet
  get_cell_font.get_name
end
font_size() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 103
def font_size()
  validate_worksheet
  get_cell_font.get_size
end
font_switch(change_type, arg) click to toggle source

Performs correct modification based on what type of change_type is specified

# File lib/rubyXL/convenience_methods/cell.rb, line 239
def font_switch(change_type, arg)
  case change_type
  when Worksheet::NAME          then change_font_name(arg)
  when Worksheet::SIZE          then change_font_size(arg)
  when Worksheet::COLOR         then change_font_color(arg)
  when Worksheet::ITALICS       then change_font_italics(arg)
  when Worksheet::BOLD          then change_font_bold(arg)
  when Worksheet::UNDERLINE     then change_font_underline(arg)
  when Worksheet::STRIKETHROUGH then change_font_strikethrough(arg)
  else raise 'Invalid change_type'
  end
end
get_border(direction) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 32
def get_border(direction)
  validate_worksheet
  get_cell_border.get_edge_style(direction)
end
get_border_color(direction) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 37
def get_border_color(direction)
  validate_worksheet
  get_cell_border.get_edge_color(direction)
end
horizontal_alignment() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 118
def horizontal_alignment()
  validate_worksheet
  xf_obj = get_cell_xf
  return nil if xf_obj.alignment.nil?
  xf_obj.alignment.horizontal
end
is_bolded() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 83
def is_bolded()
  validate_worksheet
  get_cell_font.is_bold
end
is_italicized() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 78
def is_italicized()
  validate_worksheet
  get_cell_font.is_italic
end
is_struckthrough() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 93
def is_struckthrough()
  validate_worksheet
  get_cell_font.is_strikethrough
end
is_underlined() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 88
def is_underlined()
  validate_worksheet
  get_cell_font.is_underlined
end
remove_formula() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 22
def remove_formula
  self.formula = nil

  calculation_chain = workbook && workbook.calculation_chain
  calculation_cells = calculation_chain && calculation_chain.cells
  calculation_cells && calculation_cells.reject! { |c|
    c.ref.col_range.c == self.column && c.ref.row_range.begin == self.row
  }
end
set_number_format(format_code) click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 153
def set_number_format(format_code)
  new_xf = get_cell_xf.dup
  new_xf.num_fmt_id = workbook.stylesheet.register_number_format(format_code)
  new_xf.apply_number_format = true
  self.style_index = workbook.register_new_xf(new_xf)
end
text_indent() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 146
def text_indent()
  validate_worksheet
  xf_obj = get_cell_xf
  return nil if xf_obj.alignment.nil?
  xf_obj.alignment.indent
end
text_rotation() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 139
def text_rotation
  validate_worksheet
  xf_obj = get_cell_xf
  return nil if xf_obj.alignment.nil?
  xf_obj.alignment.text_rotation    
end
text_wrap() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 132
def text_wrap()
  validate_worksheet
  xf_obj = get_cell_xf
  return nil if xf_obj.alignment.nil?
  xf_obj.alignment.wrap_text
end
vertical_alignment() click to toggle source
# File lib/rubyXL/convenience_methods/cell.rb, line 125
def vertical_alignment()
  validate_worksheet
  xf_obj = get_cell_xf
  return nil if xf_obj.alignment.nil?
  xf_obj.alignment.vertical
end