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

webghufk  于 2023-05-19  发布在  C#
关注(0)|答案(6)|浏览(182)

我在封闭的XML库中遇到了一个奇怪的问题。
我正在使用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();
juzqafwq

juzqafwq1#

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

ws.Tables.FirstOrDefault().ShowAutoFilter = false;
mklgxw1f

mklgxw1f2#

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

ws.Tables.FirstOrDefault().ShowAutoFilter = false;

我有ClosedXML版本0.93,对我有效的是:

ws.Tables.FirstOrDefault().SetShowAutoFilter(false);
7qhs6swi

7qhs6swi3#

可以使用ws.Worksheet(1). AutoFilter.Clear()'Vb.net

rsaldnfx

rsaldnfx4#

这也可以:

ws.AutoFilterMode = False
tf7tbtn2

tf7tbtn25#

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

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

ztigrdn86#

在ClosedXML版本0.101.0(.net core 7)中,我需要用途:

worksheet.RangeUsed().SetAutoFilter(false);

移除自动过滤器。如果没有这个,ClosedXML会给出一个在以前版本中没有出现的错误:
范围'worksheetname'!A1:F2与工作表的自动筛选重叠。

相关问题