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

CST*_*IZE 9 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 = false;
ws.Columns().AdjustToContents();
wb.SaveAs("Report.xlsx");
Run Code Online (Sandbox Code Playgroud)

而且我也试过了

ws.AutoFilter.Clear();
Run Code Online (Sandbox Code Playgroud)

即使是柱式透明过滤器也不起作用

ws.AutoFilter.Column(1).Clear();
Run Code Online (Sandbox Code Playgroud)

小智 14

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

ws.Tables.FirstOrDefault().ShowAutoFilter = false;
Run Code Online (Sandbox Code Playgroud)

  • 它的工作。而且我还发现了如何禁用所有表的自动过滤功能。foreach(wb.Worksheets中的IXLWorksheet workSheet){foreach(workSheet.Tables中的IXLTable表){workSheet.Table(table.Name).ShowAutoFilter = false; workSheet.Columns()。AdjustToContents(); }} (2认同)