在EPPlus中,过滤特定列的行就像吃馅饼一样容易:
private ExcelWorksheet prodUsageWorksheet;
. . .
prodUsageWorksheet.Cells["A6:A6"].AutoFilter = true;
这使我能够筛选A列中的行:
我还需要筛选掉某些列,例如月份列(在截图中是Sep 15和Oct 15,但通常会有更多)。例如,我想使用EPPlus以编程方式生成以下内容:
取消选择“全选”,选择一些月份,然后单击“确定”按钮,未被选择的月份将折叠。
查看一些传统的Excel Interop代码,似乎是这样做的:
fld = ((PivotField) pvt.PivotFields("Month"));
fld.Orientation = XlPivotFieldOrientation.xlColumnField;
fld.NumberFormat = "MMM yy";
具体来说,第二个代码块(方向设置为
xlColumnField
)是带有排序/筛选按钮的列,当操作时,它会有条件地显示/隐藏各种列。它是否根据数字格式确定哪些列可见/隐藏?也就是说,如果值为“Sep 15”或“Oct 16”?
我不知道,但我在代码中没有看到任何其他更具体地设置列过滤限制的内容。
无论如何,如果这是Excel Interop实现的方式,那么在EPPlus中的等效方式是什么?