Class: RobustExcelOle::AddressTool
- Defined in:
- lib/robust_excel_ole/address_tool.rb
Instance Method Summary collapse
- #as_a1(address) ⇒ Object
-
#as_integer_ranges(address) ⇒ Object
valid address formats: e.g.
-
#as_r1c1(address) ⇒ Object
address formats that are valid: r1c1-format: e.g.
-
#initialize(address_string) ⇒ AddressTool
constructor
A new instance of AddressTool.
- #s2n(s) ⇒ Object
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 |