【问题标题】:How to set multiple filters in closedXML如何在 closedXML 中设置多个过滤器
【发布时间】:2020-02-20 15:45:59
【问题描述】:

在这方面有两个悬而未决的问题: Applying multiple filters in ClosedXML (SetAutoFilter)ClosedXML Excel filter rows by values in multiple columns 此代码将在最后一个范围内留下一个过滤器:

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

看图:only one filter in excel file

如何添加多个过滤器?

【问题讨论】:

    标签: closedxml


    【解决方案1】:

    这里对过滤器有误解! 每页一个过滤器是规则,下面的代码会产生所需的结果。

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

    result

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-13
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 2019-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多