diff --git a/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj b/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj
index 539fd1e..ced8db9 100644
--- a/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj
+++ b/ClosedXML/ClosedXML/ClosedXML/ClosedXML.csproj
@@ -33,6 +33,7 @@
true
bin\Release\
TRACE
+ NET4
prompt
4
bin\Release\ClosedXML.XML
diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTable.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTable.cs
index cdc2bba..9c6bdc5 100644
--- a/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTable.cs
+++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Tables/XLTable.cs
@@ -62,7 +62,21 @@
}
}
- public XLAutoFilter AutoFilter { get; private set; }
+ private XLAutoFilter _autoFilter;
+ public XLAutoFilter AutoFilter
+ {
+ get
+ {
+ using (var asRange = ShowTotalsRow ? Range(1, 1, RowCount() - 1, ColumnCount()) : AsRange())
+ {
+ if (_autoFilter == null)
+ _autoFilter = new XLAutoFilter();
+
+ _autoFilter.Range = asRange;
+ }
+ return _autoFilter;
+ }
+ }
public new IXLBaseAutoFilter SetAutoFilter()
{
@@ -299,7 +313,6 @@
public void InitializeAutoFilter()
{
- AutoFilter = new XLAutoFilter { Range = AsRange() };
ShowAutoFilter = true;
}
diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/AutoFilters/AutoFilterTests.cs b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/AutoFilters/AutoFilterTests.cs
index 68aad02..8353b2c 100644
--- a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/AutoFilters/AutoFilterTests.cs
+++ b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/AutoFilters/AutoFilterTests.cs
@@ -5,10 +5,12 @@
namespace ClosedXML_Tests
{
- [TestClass()]
+ using System.Collections.Generic;
+
+ [TestClass]
public class AutoFilterTests
{
- [TestMethod()]
+ [TestMethod]
public void AutoFilterSortWhenNotInFirstRow()
{
using (var wb = new XLWorkbook())
@@ -27,5 +29,33 @@
}
+ [TestMethod]
+ public void AutoFilterExpandsWithTable()
+ {
+ using (var wb = new XLWorkbook())
+ {
+ using (var ws = wb.Worksheets.Add("Sheet1"))
+ {
+ ws.FirstCell().SetValue("Categories")
+ .CellBelow().SetValue("1")
+ .CellBelow().SetValue("2");
+
+ var table = ws.RangeUsed().CreateTable();
+
+ var listOfArr = new List();
+ listOfArr.Add(3);
+ listOfArr.Add(4);
+ listOfArr.Add(5);
+ listOfArr.Add(6);
+
+ table.DataRange.InsertRowsBelow(listOfArr.Count - table.DataRange.RowCount());
+ table.DataRange.FirstCell().InsertData(listOfArr.AsEnumerable());
+
+ Assert.AreEqual("A1:A5", table.AutoFilter.Range.RangeAddress.ToStringRelative());
+ }
+
+ }
+
+ }
}
}
diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/Resource/Examples/Misc/MultipleSheets.xlsx b/ClosedXML/ClosedXML/ClosedXML_Tests/Resource/Examples/Misc/MultipleSheets.xlsx
deleted file mode 100644
index 6e90997..0000000
--- a/ClosedXML/ClosedXML/ClosedXML_Tests/Resource/Examples/Misc/MultipleSheets.xlsx
+++ /dev/null
Binary files differ