【发布时间】:2015-10-07 00:54:33
【问题描述】:
我有一个带有数据透视表的预制 Excel,它从另一个工作表中获取数据,我通过 c# 代码填充。
在数据透视表中有三个行字段,在填充并通过代码刷新数据透视表后,打开 Excel 后使所有行展开。
我已经尝试过使用DrilledDown 方法(在字段中,但出现错误),ShowDetails 仅适用于项目(在字段内)。
我让它工作了,但是它花费了太多时间,因为它在每个项目中都使用了ShowDetails,还有其他方法可以快速折叠字段吗? (打开 Excel 并手动操作不是一种选择)。
我的代码(折叠字段是):
listItems.Add("Data");
listItems.Add("Months");
listItems.Add("Grocery");
Microsoft.Office.Interop.Excel.PivotFields pfs = (Microsoft.Office.Interop.Excel.PivotFields)pivot.PivotFields();
foreach (String s in listItems)
{
Microsoft.Office.Interop.Excel.PivotField pf = (Microsoft.Office.Interop.Excel.PivotField)pivot.PivotFields(s);
foreach (Microsoft.Office.Interop.Excel.PivotItem item in (Microsoft.Office.Interop.Excel.PivotItems)pf.PivotItems())
{
if (item.Value == "(blank)")
item.Visible = false;
item.ShowDetail = false;
}
}
问题是,也许有一种简单快捷的方法?我正在尝试类似的东西
pf.DrilledDown = False;
或
pf.ShowDetail = False;
但它不起作用。有什么想法吗?
【问题讨论】:
标签: c# excel pivot-table collapse