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

时间:2014-09-19 18:33:25

标签: c# excel pivot-table epplus

我使用EPPLUS生成我的数据透视表(see this SO post)。我有以下代码

//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;会隐藏小计。它没有。 field.SubTotalFunctions = eSubTotalFunctions.None;导致&#34;无效数据&#34;打开Excel时出错。我还能尝试什么?

1 个答案:

答案 0 :(得分:9)

我知道这是一个老问题,但是如果有人在谷歌这里,我会添加这个答案。

在将字段添加到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