我使用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时出错。我还能尝试什么?
答案 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