【问题标题】:ClosedXML and C#: How to collapse rows by Default?ClosedXML 和 C#:如何默认折叠行?
【发布时间】:2017-01-26 15:20:52
【问题描述】:

我正在尝试编写生成带有数据透视表的 excel 报告的代码。为了完成这项任务,我正在使用 ClosedXML 库。输出如下所示:

问题是我必须默认折叠所有数据组,即在输出中我应该看到以下内容:

换句话说,我的输出应该包含折叠的行,并且应该只显示摘要。我怎样才能在代码中实现这一点?我应该使用哪种方法?

        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;

【问题讨论】:

  • 命令secondWorksheet.CollapseRows(1); 应该可以工作并折叠组中的所有行。不确定使用数据透视表时是否存在冲突。另一个例子见this answer

标签: c# excel closedxml


【解决方案1】:

ClosedXML 目前不支持此功能。数据透视表仍在进行中。

【讨论】:

    【解决方案2】:

    使用 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));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 2021-06-19
      • 2014-09-11
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多