module RubyXL::LegacyWorkbook
def modify_border(style_index, direction, weight)
def modify_border(style_index, direction, weight) old_xf = cell_xfs[style_index].dup new_border = borders[old_xf.border_id].dup new_border.set_edge_style(direction, weight) new_xf = old_xf.dup unless borders[old_xf.border_id].count == 1 && old_xf.border_id > 0 # If the old border not used anymore, just replace it new_xf.border_id = borders.find_index { |x| x == new_border } # Use existing border, if it exists new_xf.border_id ||= borders.size # If this border has never existed before, add it to collection. end borders[old_xf.border_id].count -= 1 new_border.count += 1 borders[new_xf.border_id] = new_border new_xf.apply_border = true register_new_xf(new_xf, style_index) end