Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在epplus的透视表中隐藏小计_C#_Excel_Pivot Table_Epplus - Fatal编程技术网

C# 在epplus的透视表中隐藏小计

C# 在epplus的透视表中隐藏小计,c#,excel,pivot-table,epplus,C#,Excel,Pivot Table,Epplus,我正在使用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 =

我正在使用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);
}
\u GroupByColumns
是一个
列表,其中包含我的分组方式列


我认为field.SubtotalTop=false将隐藏小计。没有<代码>field.SubTotalFunctions=eSubTotalFunctions.None导致打开Excel时出现“无效数据”错误。我还可以尝试什么?

我知道这是一个老问题,但我添加了这个答案,以防有人在这里搜索

将字段添加到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
ExcelPivotTableField=pivotTable.Fields[行];

数据透视表.RowFields.Add(字段)//这是一个可重复使用的工作簿,还是每次需要时都会重新生成工作簿?@jbarker2160每天都会查询数据库并生成一个新文件。我想我可以让C#代码使用模板截断并填充新数据,但我想避免这种情况。C#没有PivotFields类的.Subtotals属性。您可以在VB.Net或VBA中执行此操作。这是MS的一个已知问题。小计顶部仅修改小计在图表中的位置(底部对顶部)。@jbarker2160 C#的解决方法是什么?有吗?我使用的解决方法是在刷新数据透视缓存时删除VBA中的小计。