如何在EPPlus中过滤列(而不是行)?

B. *_*non 18 c# excel excel-interop epplus epplus-4

过滤特定列中的行与EPPlus中的饼一样简单:

private ExcelWorksheet prodUsageWorksheet;
. . .
prodUsageWorksheet.Cells["A6:A6"].AutoFilter = true;
Run Code Online (Sandbox Code Playgroud)

这允许我过滤A列中的行:

在此输入图像描述

我还需要过滤某些列,例如月份列(截图,截至9月15日和10月15日,但通常还有几列).例如,我想用EPPlus以编程方式生成以下内容:

在此输入图像描述

取消选择"全选",选择月份子集,然后单击"确定"按钮将使未选择的一个[s]折叠.

看一些遗留的Excel Interop代码,看起来就像这样:

fld = ((PivotField) pvt.PivotFields("Month"));
fld.Orientation = XlPivotFieldOrientation.xlColumnField;
fld.NumberFormat = "MMM yy";
Run Code Online (Sandbox Code Playgroud)

具体来说,第二个代码块(方向设置为xlColumnField)是体育排序/过滤按钮的列,当操作时,有条件地显示/隐藏各个列.

它是否根据数字格式确定哪些列可显示/可隐藏?也就是说,如果值是"9月15日"或"10月16日"?

我不知道,但我在代码中看不到任何其他更具体设置列过滤限制的内容.

无论如何,如果这是Excel Interop完成它的方式,EPPlus中的等价物是什么?

小智 3

这个问题在另一个帖子里已经问过了。此外,这也不是 EPPlus 的目的,因为列过滤更多的是“动态”最终用户功能。

看看这个,看看它是否回答了你的问题:

在列上添加特定的自动筛选器