在epplus的数据透视表中隐藏小计

本文关键字:隐藏 透视 epplus 数据 | 更新日期: 2023-09-27 18:22:37

我正在使用EPPLUS生成我的数据透视表(请参阅本文)。我有以下代码

//group by fields
foreach (string row in _GroupByColumns)
{
    ExcelPivotTableField field = pivotTable.Fields[row];
    //field formating
    field.Sort = eSortType.Ascending;
    field.Outline = false;
    field.Compact = false;
    field.ShowAll = false;
    field.SubtotalTop = false; //doesn't work, subtotals still there when excel is opened
    //doesn't work, will result in "unreadable content" error when Excel is opened
    //field.SubTotalFunctions = eSubTotalFunctions.None;
    //add it to the pivot
    pivotTable.RowFields.Add(field);
}

_GroupByColumns是包含我的按列分组的List<string>

我以为field.SubtotalTop = false;会隐藏小计。事实并非如此。当我打开Excel时,field.SubTotalFunctions = eSubTotalFunctions.None;导致"无效数据"错误。我还能尝试什么?

在epplus的数据透视表中隐藏小计

我知道这是一个老问题,但我会添加这个答案,以防有人在谷歌上搜索。

在将字段添加到RowFields集合后,需要设置SubTotalFunctions属性。这是因为将其添加到集合中会更改SubTotalFunctions进行调整的XML节点。。。

ExcelPivotTableField field = pivotTable.Fields[row];
pivotTable.RowFields.Add(field);//<-- ADD IT FIRST
//field formating
field.Sort = eSortType.Ascending;
field.Outline = false;
field.Compact = false;
field.ShowAll = false;
field.SubtotalTop = false;
field.SubTotalFunctions = eSubTotalFunctions.None;//<-- THIS WILL WORK NOW