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

How can I filter columns (rather than rows) in EPPlus?

在 EPPlus 中过滤特定列中的行就像饼图一样简单:

private ExcelWorksheet prodUsageWorksheet;
. . .
prodUsageWorksheet.Cells["A6:A6"].AutoFilter = true;

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

我还需要过滤掉某些列,例如月份列(在屏幕截图中,9 月 15 日和 10 月 15 日,但通常会更多)。例如,我想使用 EPPlus 以编程方式生成以下内容:

取消选择 "Select All",选择月​​份的子集,然后单击“确定”按钮使未选中的月份折叠。

查看一些遗留 Excel 互操作代码,似乎在那里,它是这样完成的:

fld = ((PivotField) pvt.PivotFields("Month"));
fld.Orientation = XlPivotFieldOrientation.xlColumnField;
fld.NumberFormat = "MMM yy";

具体来说,第二个代码块(方向设置为 xlColumnField)是带有 sort/filter 按钮的列,在操作时,有条件地 shows/hides 各种列。

是否根据数字格式判断哪些列是showable/hideable?也就是说,如果值为"Sep 15"或"Oct 16"?

我不知道,但我在代码中看不到任何其他更具体地设置列筛选限制的内容。

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

这已在另一个帖子中提出。此外,这不是 EPPlus 的目的,因为列过滤更像是一种 'Dynamic' 最终用户功能。

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

Adding a specific autofilter on a column