diff options
| author | Randy Morgan <[email protected]> | 2012-03-12 16:13:43 -0700 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2012-03-12 16:13:43 -0700 |
| commit | 547c5e6acfe64c61550acb70cea235e4e9f89f0e (patch) | |
| tree | c39c450377f8cbb2f6c0bcb311fb399629242530 | |
| parent | 111292baa50b06445e181c0cb2284bf68117ab4a (diff) | |
| parent | ccd59b3d88907da35a3cded14ba9cfa3a6379bd2 (diff) | |
| download | caxlsx-547c5e6acfe64c61550acb70cea235e4e9f89f0e.tar.gz caxlsx-547c5e6acfe64c61550acb70cea235e4e9f89f0e.zip | |
Merge pull request #49 from joekain/r_abs
Fix Cell#r_abs to handle multi-digit row numbers and multi-letter column ids.
| -rw-r--r-- | lib/axlsx/workbook/worksheet/cell.rb | 2 | ||||
| -rw-r--r-- | test/workbook/worksheet/tc_cell.rb | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/axlsx/workbook/worksheet/cell.rb b/lib/axlsx/workbook/worksheet/cell.rb index 62fa539f..ff759cdf 100644 --- a/lib/axlsx/workbook/worksheet/cell.rb +++ b/lib/axlsx/workbook/worksheet/cell.rb @@ -230,7 +230,7 @@ module Axlsx # @example Absolute Cell Reference # ws.rows.first.cells.first.r #=> "$A$1" def r_abs - "$#{r.split('').join('$')}" + "$#{r.match(%r{([A-Z]+)([0-9]+)})[1,2].join('$')}" end # @return [Integer] The cellXfs item index applied to this cell. diff --git a/test/workbook/worksheet/tc_cell.rb b/test/workbook/worksheet/tc_cell.rb index 97a9951b..efaee3ac 100644 --- a/test/workbook/worksheet/tc_cell.rb +++ b/test/workbook/worksheet/tc_cell.rb @@ -9,6 +9,8 @@ class TestCell < Test::Unit::TestCase p.workbook.styles.add_style :sz=>20 @row = @ws.add_row @c = @row.add_cell 1, :type=>:float, :style=>1 + @ws.add_row (0..26).map { |index| index } + @cAA = @ws["AA2"] end def test_initialize @@ -42,6 +44,7 @@ class TestCell < Test::Unit::TestCase def test_r_abs assert_equal(@c.r_abs,"$A$1", "calculate absolute cell reference") + assert_equal(@cAA.r_abs,"$AA$2", "needs to accept multi-digit columns") end def test_style |
