diff options
| -rw-r--r-- | examples/auto_filter.rb | 11 | ||||
| -rw-r--r-- | test/workbook/worksheet/tc_worksheet.rb | 16 |
2 files changed, 25 insertions, 2 deletions
diff --git a/examples/auto_filter.rb b/examples/auto_filter.rb index fcfe2e90..b47082cb 100644 --- a/examples/auto_filter.rb +++ b/examples/auto_filter.rb @@ -10,7 +10,16 @@ Axlsx::Package.new do |p| sheet.add_row ["19.1", "1 min 32 sec", "about 10 hours ago", "1.8.7"] sheet.add_row ["19.2", "1 min 28 sec", "about 10 hours ago", "1.9.2"] sheet.add_row ["19.3", "1 min 35 sec", "about 10 hours ago", "1.9.3"] - sheet.auto_filter = 'A2:D5' + sheet.auto_filter = 'A2:D5' + sheet.auto_filter.add_column 3, :filters, :filter_items => ['1.9.2'] + end + p.workbook.add_worksheet(:name => "Table 2") do |sheet| + sheet.add_row ["Build Matrix"] + sheet.add_row ["Build", "Duration", "Finished", "Rvm"] + sheet.add_row ["19.1", "1 min 32 sec", "about 10 hours ago", "1.8.7"] + sheet.add_row ["19.2", "1 min 28 sec", "about 10 hours ago", "1.9.2"] + sheet.add_row ["19.3", "1 min 35 sec", "about 10 hours ago", "1.9.3"] + sheet.auto_filter = 'A2:D5' sheet.auto_filter.add_column 3, :filters, :filter_items => ['1.9.2'] end end.serialize('auto_filter.xlsx') diff --git a/test/workbook/worksheet/tc_worksheet.rb b/test/workbook/worksheet/tc_worksheet.rb index c7699e12..eb668d7f 100644 --- a/test/workbook/worksheet/tc_worksheet.rb +++ b/test/workbook/worksheet/tc_worksheet.rb @@ -522,15 +522,29 @@ class TestWorksheet < Test::Unit::TestCase end def test_auto_filter_assign + other_ws = @wb.add_worksheet + assert(@ws.auto_filter.range.nil?) + assert(other_ws.auto_filter.range.nil?) assert(@wb.defined_names.none?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'}) assert_raise(ArgumentError) { @ws.auto_filter = 123 } + @ws.auto_filter = "A1:D9" assert_equal(@ws.auto_filter.range, "A1:D9") + + other_ws.auto_filter = "A1:D2" + assert_equal(other_ws.auto_filter.range, "A1:D2") + @ws.to_xml_string - assert(@wb.defined_names.any?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'}) + other_ws.to_xml_string + + filter_database = @wb.defined_names.select{|defined_name| defined_name.name=='_xlnm._FilterDatabase'} + assert_equal(2, filter_database.size) + assert_equal(@ws.index, filter_database[0].local_sheet_id) + assert_equal(other_ws.index, filter_database[1].local_sheet_id) end + def test_sheet_pr_for_auto_filter @ws.auto_filter.range = 'A1:D9' @ws.auto_filter.add_column 0, :filters, :filter_items => [1] |
