Answers for "axlsx add border to cell range"

0

axlsx add border to cell range

def set_project_sheet_styles(sheet, styles)

    top_border =    styles.add_style({:border => { :style => :thick, :color => 'F000000', :name => :top, :edges => [:top] }})
    right_border =  styles.add_style({:border => { :style => :thick, :color => 'F000000', :name => :right, :edges => [:right] }})
    bottom_border = styles.add_style({:border => { :style => :thick, :color => 'F000000', :name => :bottom, :edges => [:bottom] }})
    left_border =   styles.add_style({:border => { :style => :thick, :color => 'F000000', :name => :left, :edges => [:left] }})

    sheet['A3:A46'].each do |cell|
      cell.style = right_border
    end
    %w{B2:J2 E31:J31}.each do |cells|
      sheet[cells].each do |cell|
        cell.style = bottom_border
      end
    end
    %w{B47:J47 E14:J14 E26:J26}.each do |cells|
      sheet[cells].each do |cell|
        cell.style = top_border
      end
    end
    %w{D3:D6 D8:D13 D15:D16 D18:D23 D25:D30 D32:D43 D45:D46}.each do |cells|
      (sheet[cells]).each do |cell|
        cell.style = left_border
      end
    end
    %w{K3:K46 E3:E25 H3:H25 E32:E46}.each do |cells|
      sheet[cells].each do |cell|
        cell.style = left_border
      end
    end
    %w{E13 H13}.each do |cell_pos|
      sheet[cell_pos].style = styles.add_style({:border => { :style => :thick, :color => 'F000000', :name => :top, :edges => [:left, :bottom] }})
    end
    %w{J7 J17 J24 J31 J44}.each do |cell_pos|
      sheet[cell_pos].style = right_border
    end
    %w{J14 J32}.each do |cell_pos|
      sheet[cell_pos].style = styles.add_style({:border => { :style => :thick, :color => 'F000000', :name => :top, :edges => [:top, :right] }})
    end
# and many boxes like that ...
    sheet.column_widths 2, 25, 20, 10, 12, 2, 12, 12, 2, 12
  end
Posted by: Guest on September-14-2020

Browse Popular Code Answers by Language