2015-12-22 11 views
8

Mam do czynienia z dziwnym problemem w bibliotece closedXML.Jak wyłączyć autofiltr w zamkniętym języku C#?

Eksportuję datatable do .xlsx (plik excel) przy użyciu biblioteki closedXML. Domyślnie autofiltr jest włączony w bibliotece.

Chcę wyłączyć lub usunąć autofiltr i wyeksportować tylko datatable.

Oto kod próbowałem, ale jej nie działa

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

i próbowałem również

ws.AutoFilter.Clear(); 

nawet kolumny mądry wyczyść filtr nie działa

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

Odpowiedz

14

Spróbuj użyj poniższego kodu i powinno działać poprawnie

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

Witamy StackOverflow! Przed opublikowaniem następnego pytania możesz przeczytać tę stronę. http://stackoverflow.com/help/how-to-ask –

+1

Jego działanie. Zauważyłem też, jak wyłączyć samoczynnie cały arkusz. foreach (IXLWorksheet arkuszem wb.Worksheets) { foreach (IXLTable Tabela w workSheet.Tables) { workSheet.Table (table.Name) .ShowAutoFilter = fałszywe; workSheet.Columns(). AdjustToContents(); } } –

+1

Świetne, pamiętaj, że AdjustToContents może wymagać czasu w zależności od ilości danych – Hamaresha

0

Może również pracować:

ws.AutoFilterMode = False 
Powiązane problemy