У меня есть готовый Excel со сводной таблицей, которая получает данные с другого листа, я заполняю код С#.
В сводной таблице есть 3 поля строк, которые после заполнения и обновления сводной таблицы с помощью кода сделали все строки расширенными после открытия Excel.
Я уже пробовал использовать метод DrilledDown (в полях, но получаю ошибку), ShowDetails работает только в элементах (внутри полей).
Я заставил его работать, но это занимает слишком много времени, потому что он использует ShowDetails в каждом элементе, есть ли другой способ и быстро свернуть поля? (открыть Excel и сделать это вручную не вариант: P).
Мой код (который сворачивает поля):
listItems.Add("Data");
listItems.Add("Months");
listItems.Add("Grocery");
Microsoft.Office.Interop.Excel.PivotFields pfs = (Microsoft.Office.Interop.Excel.PivotFields)pivot.PivotFields();
foreach (String s in listItems){
Microsoft.Office.Interop.Excel.PivotField pf = (Microsoft.Office.Interop.Excel.PivotField)pivot.PivotFields(s);
foreach (Microsoft.Office.Interop.Excel.PivotItem item in (Microsoft.Office.Interop.Excel.PivotItems)pf.PivotItems())
{
if (item.Value == "(blank)")
item.Visible = false;
item.ShowDetail = false;
}
}
Дело в том, что, может быть, есть более простой и быстрый способ? Я пытался что-то вроде
pf.DrilledDown = False;
or
pf.ShowDetail = False;
Но это не работает.. :\ Любые идеи?
ТИА