2015-12-22 308 views
8

私はclosedXMLライブラリで奇妙な問題に直面しています。closedXmlでオートフィルタを無効にする方法C#?

私は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.Column(1).Clear(); 

答えて

14

が動作していない

ws.AutoFilter.Clear(); 

偶数列を試してみました以下のコードを使用すれば正常に動作するはずです

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

はStackOverflowのへようこそ!あなたは次の質問を投稿する前に、このページを読むことをお勧めします。 http://stackoverflow.com/help/how-to-ask –

+1

その作業。また、すべてのシートをオートフィルタで無効にする方法も見つけました。 foreachの(wb.WorksheetsでIXLWorksheetワークシート) {foreachの(workSheet.TablesでIXLTableテーブル) {workSheet.Table(table.Name).ShowAutoFilter = FALSE; workSheet.Columns()。AdjustToContents(); } } –

+1

いいえ、AdjustToContentsはデータの量に基づいて時間がかかることに注意してください – Hamaresha

0

これもうまくいくかもしれない:

ws.AutoFilterMode = False 
関連する問題