summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lib/axlsx/workbook/worksheet/cell.rb2
-rw-r--r--test/workbook/worksheet/tc_cell.rb3
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