Class: RobustExcelOle::AddressTool

Inherits:
Base
  • Object
show all
Defined in:
lib/robust_excel_ole/address_tool.rb

Instance Method Summary collapse

Constructor Details

#initialize(address_string) ⇒ AddressTool

Returns a new instance of AddressTool.



7
8
9
10
11
# File 'lib/robust_excel_ole/address_tool.rb', line 7

def initialize(address_string)
  r1c1_letters = address_string.gsub(/[0-9]/,'')
  @row_letter = r1c1_letters[0..0]
  @col_letter = r1c1_letters[1..1]
end

Instance Method Details

#as_a1(address) ⇒ Object



24
25
26
# File 'lib/robust_excel_ole/address_tool.rb', line 24

def as_a1(address)
  transform_address(address,:a1)
end

#as_integer_ranges(address) ⇒ Object

valid address formats: e.g. [3,1], [3,“A”], [3..5,1..2], [3..5, “A”..“B”],

[3..4, nil], [nil, 2..4], [2,nil], [nil,4]


30
31
32
# File 'lib/robust_excel_ole/address_tool.rb', line 30

def as_integer_ranges(address)
  transform_address(address,:int_range)
end

#as_r1c1(address) ⇒ Object

address formats that are valid:

r1c1-format: e.g. "Z3S1", "Z3S1:Z5S2", "Z[3]S1", "Z3S[-1]:Z[5]S1", "Z[3]", "S[-2]"
                   infinite ranges are not possible, e.g. "Z3:Z5", "S2:S5", "Z2", "S3", "Z[2]" 
integer_ranges-fromat: e.g. [3,1], [3,"A"], [3..5,1..2], [3..5, "A".."B"], 
                            [3..4, nil], [nil, 2..4], [2,nil], [nil,4]
a1-format: e.g. "A3", "A3:B5", "A:B", "3:5", "A", "3"


20
21
22
# File 'lib/robust_excel_ole/address_tool.rb', line 20

def as_r1c1(address)
  transform_address(address,:r1c1)
end

#s2n(s) ⇒ Object



99
100
101
# File 'lib/robust_excel_ole/address_tool.rb', line 99

def s2n(s)
  s!="" ? (s[0] == "[" ? [s.gsub(/\[|\]/,'').to_i] : (s.to_i!=0 ? s.to_i : s)) : nil
end