Как я могу фильтровать столбцы (а не строки) в EPPlus?

Фильтровать строки в определенном столбце так же просто, как в 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?

1 ответ

Решение

Это было задано в другой публикации. Кроме того, это не то, для чего предназначен EPPlus, поскольку фильтрация столбцов является скорее "динамической" функциональностью конечного пользователя.

Посмотрите на это и посмотрите, отвечает ли он на ваш вопрос:

Добавление определенного автофильтра на столбец

Другие вопросы по тегам