Фильтровать строки в определенном столбце очень просто в EPPlus:
private ExcelWorksheet prodUsageWorksheet;
. . .
prodUsageWorksheet.Cells["A6:A6"].AutoFilter = true;
Это позволяет мне фильтровать строки в столбце A:
Мне также нужно отфильтровать определенные столбцы, например столбцы месяца (на скриншоте 15 сентября и 15 октября, но обычно их несколько больше). Например, я хочу программно сгенерировать с помощью EPPlus следующее:
Отмена выбора «Выбрать все», выбор подмножества месяцев, а затем нажатие кнопки «ОК» приводит к сворачиванию невыбранных месяцев.
Глядя на какой-нибудь устаревший код Excel Interop, может показаться, что там это делается так:
fld = ((PivotField) pvt.PivotFields("Month"));
fld.Orientation = XlPivotFieldOrientation.xlColumnField;
fld.NumberFormat = "MMM yy";
В частности, второй блок кода (с ориентацией, установленной на xlColumnField
) — это столбец с кнопкой сортировки/фильтрации, которая при манипулировании условно показывает/скрывает различные столбцы.
Определяет ли он, какие столбцы отображать/скрывать на основе числового формата? То есть, если значение "15 сентября" или "16 октября"?
Я не знаю, но я не вижу ничего другого в коде, который более конкретно устанавливает ограничения фильтрации столбцов.
Во всяком случае, если Excel Interop делает это именно так, то что эквивалентно в EPPlus?