summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJurriaan Pruis <[email protected]>2012-03-23 15:36:02 +0100
committerJurriaan Pruis <[email protected]>2012-03-23 15:49:50 +0100
commit645cab50a9dcba603d34b0a2e20be5d2420e1905 (patch)
treeb635c08356b0e0772388ffba1eff18573fd9bb56
parentaf4c403f2e291ff68aef10e494e20d76ecebdaa3 (diff)
downloadcaxlsx-645cab50a9dcba603d34b0a2e20be5d2420e1905.tar.gz
caxlsx-645cab50a9dcba603d34b0a2e20be5d2420e1905.zip
Added <definedNames> to workbook
-rw-r--r--lib/axlsx/workbook/workbook.rb7
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet.rb8
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/axlsx/workbook/workbook.rb b/lib/axlsx/workbook/workbook.rb
index a8e0a1af..d57cf8a3 100644
--- a/lib/axlsx/workbook/workbook.rb
+++ b/lib/axlsx/workbook/workbook.rb
@@ -206,6 +206,13 @@ require 'axlsx/workbook/worksheet/table.rb'
xml.sheet(:name=>sheet.name, :sheetId=>index+1, :"r:id"=>sheet.rId)
end
}
+ xml.definedNames {
+ @worksheets.each_with_index do |sheet, index|
+ if sheet.auto_filter
+ xml.definedName(sheet.abs_auto_filter, :name => '_xlnm._FilterDatabase', :localSheetId => index, :hidden => 1)
+ end
+ end
+ }
}
end
builder.to_xml(:save_with => 0)
diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb
index 5325294f..88d29432 100644
--- a/lib/axlsx/workbook/worksheet/worksheet.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet.rb
@@ -210,6 +210,14 @@ module Axlsx
@name=v
end
+ # The absolute auto filter range
+ # @see auto_filter
+ def abs_auto_filter
+ "'#{@name}'!#{@auto_filter.split(':').collect { |name|
+ name_to_cell(name).r_abs
+ }.join(':')}" if @auto_filter
+ end
+
# The auto filter range for the worksheet
# @param [String] v
# @see auto_filter