def set_align(align = 'left')
    case align.to_s.downcase
    when 'left'             then set_text_h_align(1)
    when 'centre', 'center' then set_text_h_align(2)
    when 'right'            then set_text_h_align(3)
    when 'fill'             then set_text_h_align(4)
    when 'justify'          then set_text_h_align(5)
    when 'center_across', 'centre_across' then set_text_h_align(6)
    when 'merge'            then set_text_h_align(6) # S:WE name
    when 'distributed'      then set_text_h_align(7)
    when 'equal_space'      then set_text_h_align(7) # ParseExcel

    when 'top'              then set_text_v_align(0)
    when 'vcentre'          then set_text_v_align(1)
    when 'vcenter'          then set_text_v_align(1)
    when 'bottom'           then set_text_v_align(2)
    when 'vjustify'         then set_text_v_align(3)
    when 'vdistributed'     then set_text_v_align(4)
    when 'vequal_space'     then set_text_v_align(4) # ParseExcel
    else nil
    end
  end
def set_align(align = 'left')
    case align.to_s.downcase
    when 'left'             then set_text_h_align(1)
    when 'centre', 'center' then set_text_h_align(2)
    when 'right'            then set_text_h_align(3)
    when 'fill'             then set_text_h_align(4)
    when 'justify'          then set_text_h_align(5)
    when 'center_across', 'centre_across' then set_text_h_align(6)
    when 'merge'            then set_text_h_align(6) # S:WE name
    when 'distributed'      then set_text_h_align(7)
    when 'equal_space'      then set_text_h_align(7) # ParseExcel

    when 'top'              then set_text_v_align(0)
    when 'vcentre'          then set_text_v_align(1)
    when 'vcenter'          then set_text_v_align(1)
    when 'bottom'           then set_text_v_align(2)
    when 'vjustify'         then set_text_v_align(3)
    when 'vdistributed'     then set_text_v_align(4)
    when 'vequal_space'     then set_text_v_align(4) # ParseExcel
    else nil
    end
  end
Set cell alignment.

     Default state:      Alignment is off
     Default action:     Left alignment
     Valid args:         'left'              Horizontal
                         'center'
                         'right'
                         'fill'
                         'justify'
                         'center_across'

                         'top'               Vertical
                         'vcenter'
                         'bottom'
                         'vjustify'

 This method is used to set the horizontal and vertical text alignment
 within a cell. Vertical and horizontal alignments can be combined.
  The method is used as follows:

     format = workbook.add_format
     format->set_align('center')
     format->set_align('vcenter')
     worksheet->set_row(0, 30)
     worksheet->write(0, 0, 'X', format)

 Text can be aligned across two or more adjacent cells using
 the center_across property. However, for genuine merged cells
 it is better to use the merge_range() worksheet method.

 The vjustify (vertical justify) option can be used to provide
 automatic text wrapping in a cell. The height of the cell will be
 adjusted to accommodate the wrapped text. To specify where the text
 wraps use the set_text_wrap() method.

 For further examples see the 'Alignment' worksheet created by formats.rb.