如何在closedXml c#中禁用自动筛选
本文关键字:筛选 closedXml | 更新日期: 2023-09-27 18:27:51
我在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.Tables.FirstOrDefault().ShowAutoFilter = false;
我有ClosedXML 0.93版本,对我有效的是:
ws.Tables.FirstOrDefault().SetShowAutoFilter(false);
您可以使用ws-Worksheet(1).AutoFilter.Clear()'Vb.net
这也可能起作用:
ws.AutoFilterMode = False
要删除所有表过滤器,可以使用LinqForEach。
ws.Tables.ForEach(x=>x.ShowAutoFilter = false);
在ClosedXML版本0.101.0(.net core 7)中,我需要使用:
worksheet.RangeUsed().SetAutoFilter(false);
以删除自动过滤器。如果没有这一点,ClosedXML会出现以前版本中没有出现的错误:
范围"worksheetname"!A1:F2与工作表的自动筛选重叠。