2015-12-22 9 views
8

Ich habe ein seltsames Problem in der closedXML-Bibliothek.Wie Autofilter in closedXml C# deaktivieren?

Ich exportiere eine Datentabelle zu .xlsx (Excel-Datei) mit ClosedXML-Bibliothek. Standardmäßig ist Autofilter in der Bibliothek aktiviert.

Ich möchte den Autofilter deaktivieren oder entfernen und nur die Datentabelle exportieren. Hier

ist der Code Ich habe versucht, aber es ist nicht

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"); 

arbeiten, und ich habe auch versucht,

ws.AutoFilter.Clear(); 

Auch die Säule weise klare Filter funktioniert nicht

ws.AutoFilter.Column(1).Clear(); 

Antwort

14

Versuchen Sie, Verwenden Sie den folgenden Code und es sollte gut funktionieren

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

Willkommen bei Stackoverflow! Vielleicht möchten Sie diese Seite lesen, bevor Sie Ihre nächste Frage stellen. http://stackoverflow.com/help/how-to-ask –

+1

Es funktioniert. Und ich fand auch, wie man alle Blätter Autofilter deaktiviert. foreach (IXLWorksheet Arbeitsblatt in wb.Worksheets) { foreach (IXLTable Tabelle in workSheet.Tables) { workSheet.Table (table.Name) .ShowAutoFilter = false; workSheet.Columns(). AdjustToContents(); } } –

+1

Großartig, beachten Sie, dass AdjustToContents abhängig von der Menge Ihrer Daten Zeit braucht – Hamaresha

0

Dies könnte auch funktionieren:

ws.AutoFilterMode = False