如何在 closedXml c# 中禁用自动过滤器?

How to disable autofilter in closedXml c#?

我在 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.Clear();

即使按列清除过滤器也不起作用

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