Excel Interop — скрытие категорий на диаграмме

Я ищу способ скрыть/отключить определенные категории на графике. (Ось Y)

Как это работает с фильтром:

Фильтр

Кто-нибудь знает, как я могу сделать это в .NET с помощью Excel Interop?


person Timmo    schedule 30.08.2017    source источник


Ответы (1)


Надеюсь, я не опоздал на вечеринку, потому что этому вопросу уже месяц, но, думаю, лучше поздно, чем никогда.

Если вы знаете индекс категории, вы можете использовать этот код:

// Replace ActiveChart with your specific chart.
// The index of the ChartGroup is always 1,
// unless you have multiple chart groups in your chart.
var chartGroup = (ChartGroup)_application.ActiveChart.ChartGroups(1);
var category = (ChartCategory)chartGroup.FullCategoryCollection(Index: 2);
category.IsFiltered = true;

Если вы знаете только имя, вам нужно перебрать категории:

// If you want to skip the already hidden categories,
// you can use .CategoryCollection() instead of .FullCategoryCollection() two times.
var categories = (CategoryCollection)chartGroup.FullCategoryCollection();
for (int i = 1; i <= categories.Count; i++)
{
    var category = (ChartCategory)chartGroup.FullCategoryCollection(i);
    if (category.Name == "W2 - 13/01/17")
        category.IsFiltered = true;
}
person haindl    schedule 29.09.2017