ClosedXML и C#: как свернуть строки по умолчанию?

Я пытаюсь написать код, который создает отчет Excel со сводной таблицей. Для выполнения этой задачи я использую библиотеку ClosedXML. Вывод выглядит следующим образом: ClosedXML создал рабочий лист Excel со сводной таблицей

Проблема в том, что я должен свернуть все группы данных по умолчанию, т.е. в выводе я должен увидеть следующее: Желаемый результат - каждая строка свернута.

Другими словами, мой вывод должен содержать свернутые строки и должна отображаться только сводка. Как я могу добиться этого в коде? Какой метод следует использовать?

        pt.ShowRowStripes = true;
        secondWorksheet.FirstRow().Hide();
        secondWorksheet.TabActive = true;
        secondWorksheet.CollapseRows(1);
        secondWorksheet.Rows().Collapse();
        pt.EnableShowDetails = false;
        pt.ShowValuesRow = false;
        secondWorksheet.PageSetup.ShowGridlines = true;
        secondWorksheet.ShowGridLines = true;
        workbook.PageOptions.ShowGridlines = true;
        secondWorksheet.PivotTables.First().EnableShowDetails = false;

person Denis    schedule 26.01.2017    source источник
comment
Команда secondWorksheet.CollapseRows(1); должна сработать и свернуть все строки в группах. Не уверен, что при работе со сводными таблицами возникают конфликты. См. этот ответ для другого примера.   -  person Raidri    schedule 26.01.2017


Ответы (2)


В настоящее время это не поддерживается ClosedXML. Сводные таблицы все еще находятся в стадии разработки.

person Francois Botha    schedule 27.01.2017

Используя ClosedXML.Signed версии 0.94.2, это сработало для меня:

IXLPivotTable pivotTable = workbook.Worksheet("SheetContainingPivotTable").PivotTables.First();
pivotTable.ColumnLabels.ToList().ForEach(x => x.SetCollapsed(true));
pivotTable.RowLabels.ToList().ForEach(x => x.SetCollapsed(true));
person TobeyB    schedule 28.02.2019