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