【问题标题】:EPPlus set table column filter with text containsEPPlus 设置表列过滤器与文本包含
【发布时间】:2022-01-23 07:28:22
【问题描述】:

我正在尝试使用 EPPlus 来实现这一目标 -

我看了例子here

    private static async Task CustomFilter(string connectionString, ExcelPackage p)
    {
        var ws = p.Workbook.Worksheets.Add("CustomFilter");
        ExcelRangeBase range = await LoadFromDatabase(connectionString, ws);

        range.AutoFilter = true;
        var colCompany = ws.AutoFilter.Columns.AddCustomFilterColumn(6);
        colCompany.And = true;
        colCompany.Filters.Add(new ExcelFilterCustomItem("999.99",eFilterOperator.GreaterThan));
        colCompany.Filters.Add(new ExcelFilterCustomItem("1500", eFilterOperator.LessThanOrEqual));
        ws.AutoFilter.ApplyFilter();
        range.AutoFitColumns(0);
    }

不过,eFilterOperator 似乎没有包含选项。这可能吗?

【问题讨论】:

    标签: c# powershell epplus


    【解决方案1】:

    想通了,需要使用星号。顺便说一句 - 如果值以星号开头,过滤器将显示为结尾而不是包含。

    $xl = New-Object OfficeOpenXml.ExcelPackage $xls
    $ws = $xl.Workbook.Worksheets.Add("Logs")
    $table_range = $ws.Cells[1, 1, $ws.Dimension.End.Row, $ws.Dimension.End.Column]
    $table = $ws.Tables.Add($table_range, 'Table1')
    $filter = $table.AutoFilter.Columns.AddCustomFilterColumn($colinfo['File'].Index - 1)
    $filter.Filters.Add( (New-Object 'OfficeOpenXml.Filter.ExcelFilterCustomItem' '*MAIN-Install.log*', 'Equal' ) )
    $filter.Filters.Add( (New-Object 'OfficeOpenXml.Filter.ExcelFilterCustomItem' '*dsclog.log*', 'Equal' ) )
    $table.AutoFilter.ApplyFilter()
    

    【讨论】:

      猜你喜欢
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多