Как установить несколько фильтров в closedXML - PullRequest
0 голосов
/ 20 февраля 2020

Есть два вопроса без ответа на этот вопрос: Применение нескольких фильтров в закрытом XML (SetAutoFilter) и Закрытое XML Excel фильтр строк по значениям в нескольких столбцах Это Код оставит один фильтр в последнем диапазоне:

var wb = new XLWorkbook();
            var ws = wb.Worksheets.Add("AutoFilter");
            ws.Cell("A1").Value = "Names";
            ws.Cell("A2").Value = "John";
            ws.Cell("A3").Value = "Hank";
            ws.Cell("A4").Value = "Dagny";

            var r1 = ws.Range("A1", "A4");
            r1.SetAutoFilter();

            ws.Cell("B1").Value = "Names";
            ws.Cell("B2").Value = "John";
            ws.Cell("B3").Value = "Hank";
            ws.Cell("B4").Value = "Dagny";
            var r2 = ws.Range("B1", "B4");
            r2.SetAutoFilter();

            wb.SaveAs(filterTest);

См. изображение: только один фильтр в файле Excel

Как добавить несколько фильтров?

1 Ответ

0 голосов
/ 20 февраля 2020

Здесь недопонимание фильтров! Правило - один фильтр на страницу, приведенный ниже код дает желаемый результат.

var wb = new XLWorkbook();
            var ws = wb.Worksheets.Add("AutoFilter");
            ws.Cell("A1").Value = "Names";
            ws.Cell("A2").Value = "John";
            ws.Cell("A3").Value = "Hank";
            ws.Cell("A4").Value = "Dagny";


            ws.Cell("B1").Value = "id";
            ws.Cell("B2").Value = "1";
            ws.Cell("B3").Value = "2";
            ws.Cell("B4").Value = "3";
            var r2 = ws.Range("A1", "B4");
            r2.SetAutoFilter();

            wb.SaveAs(filtertest);

результат

...