如何在closedXml c#中禁用自动筛选?

如何在closedXml c#中禁用自动筛选?,c#,excel,closedxml,C#,Excel,Closedxml,我在closedXML库中遇到了一个奇怪的问题 我正在使用closedXML库将数据表导出到.xlsx(excel文件)。 默认情况下,库中已启用自动筛选 我想禁用或删除自动筛选并仅导出数据表 这是我尝试过的代码,但它不起作用 XLWorkbook wb = new XLWorkbook(); var ws = wb.Worksheets.Add("Test"); ws.Cell(1, 1).InsertTable(dataTable); ws.AutoFilter.Enabled = fals

我在closedXML库中遇到了一个奇怪的问题

我正在使用closedXML库将数据表导出到.xlsx(excel文件)。 默认情况下,库中已启用自动筛选

我想禁用或删除自动筛选并仅导出数据表

这是我尝试过的代码,但它不起作用

XLWorkbook wb = new XLWorkbook();
var ws = wb.Worksheets.Add("Test");
ws.Cell(1, 1).InsertTable(dataTable);
ws.AutoFilter.Enabled = false;
ws.Columns().AdjustToContents();
wb.SaveAs("Report.xlsx");
ws.AutoFilter.Column(1).Clear();
我也试过了

ws.AutoFilter.Clear();
即使按列清除过滤器也不工作

XLWorkbook wb = new XLWorkbook();
var ws = wb.Worksheets.Add("Test");
ws.Cell(1, 1).InsertTable(dataTable);
ws.AutoFilter.Enabled = false;
ws.Columns().AdjustToContents();
wb.SaveAs("Report.xlsx");
ws.AutoFilter.Column(1).Clear();

尝试使用下面的代码,它应该可以正常工作

ws.Tables.FirstOrDefault().ShowAutoFilter = false;
这也可能起作用:

ws.AutoFilterMode = False

要删除所有表过滤器,可以使用Linq ForEach

ws.Tables.ForEach(x=>x.ShowAutoFilter = false);

我也有同样的问题,下面的代码对我不起作用

ws.Tables.FirstOrDefault().ShowAutoFilter = false;
我有ClosedXML版本0.93,对我有用的是:

ws.Tables.FirstOrDefault().SetShowAutoFilter(false);
您可以使用ws.Worksheet(1.AutoFilter.Clear()
'Vb.net

欢迎使用StackOverflow!在发布下一个问题之前,您可能需要阅读此页。它起作用了。我还发现了如何禁用自动筛选所有工作表。foreach(wb.Worksheets中的IXLWorksheet工作表){foreach(workSheet.Tables中的IXLTable表){workSheet.table(table.Name).ShowAutoFilter=false;workSheet.Columns().adjustToContent();}}太好了,请注意AdjustToContent可能需要时间,这取决于您的数据量