summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--examples/split.rb16
-rw-r--r--lib/axlsx/workbook/worksheet/cell.rb12
-rw-r--r--test/workbook/worksheet/tc_cell.rb6
3 files changed, 34 insertions, 0 deletions
diff --git a/examples/split.rb b/examples/split.rb
new file mode 100644
index 00000000..b5ffcc05
--- /dev/null
+++ b/examples/split.rb
@@ -0,0 +1,16 @@
+#!/usr/bin/env ruby -w -s
+# -*- coding: utf-8 -*-
+$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
+require 'axlsx'
+p = Axlsx::Package.new
+wb = p.workbook
+wb.add_worksheet name: 'pane' do |sheet|
+ sheet.sheet_view.pane do |pane|
+ pane.top_left_cell = "B2"
+ pane.state = :frozen_split
+ pane.y_split = 2
+ pane.x_split = 1
+ pane.active_pane = :bottom_right
+ end
+end
+p.serialize 'pane.xlsx'
diff --git a/lib/axlsx/workbook/worksheet/cell.rb b/lib/axlsx/workbook/worksheet/cell.rb
index e83e456a..6e3512c5 100644
--- a/lib/axlsx/workbook/worksheet/cell.rb
+++ b/lib/axlsx/workbook/worksheet/cell.rb
@@ -326,6 +326,18 @@ module Axlsx
absolute ? r_abs : r
end
+
+ # Creates a defined name in the workbook for this cell.
+ def name=(label)
+ row.worksheet.workbook.add_defined_name "#{row.worksheet.name}!#{r_abs}", name: label
+ @name = label
+ end
+
+ # returns the name of the cell
+ def name
+ @name
+ end
+
private
# we scale the font size if bold style is applied to either the style font or
diff --git a/test/workbook/worksheet/tc_cell.rb b/test/workbook/worksheet/tc_cell.rb
index 208b15e0..baa7a9f1 100644
--- a/test/workbook/worksheet/tc_cell.rb
+++ b/test/workbook/worksheet/tc_cell.rb
@@ -50,6 +50,12 @@ class TestCell < Test::Unit::TestCase
assert_equal(@cAA.r_abs,"$AA$2", "needs to accept multi-digit columns")
end
+ def test_name
+ @c.name = 'foo'
+ assert_equal(1, @ws.workbook.defined_names.size)
+ assert_equal('foo', @ws.workbook.defined_names.last.name)
+ end
+
def test_style
assert_raise(ArgumentError, "must reject invalid style indexes") { @[email protected] }
assert_nothing_raised("must allow valid style index changes") {@c.style=1}