循环遍历c#中pivotfield值的pivotitems

时间:2017-01-19 07:53:46

标签: c# excel

我有枢轴字段 pv4_na2 。我想循环遍历 pv4_na2 中的所有pivotitems,但是foreach循环不起作用。它说不能对Microsoft.Office.Interop.Excel.PivotItem类型的变量进行操作,因为它不包含get enumerator 的公共定义。任何人都可以为此提供解决方案。我需要遍历每个项目以获得可见性。这是我的代码 -

int D = 0;
foreach (Microsoft.Office.Interop.Excel.PivotItem pvt in (Microsoft.Office.Interop.Excel.PivotField)pv4_na2)
 {
   if (pvt.Value == "NA")
   {
       pvt.Visible = true;
       D = 1;
   }
 }

它在foreach循环中显示错误。

2 个答案:

答案 0 :(得分:0)

Microsoft.Office.Interop.Excel.PivotField不是可枚举类型,因此不能在foreach循环中使用。

也许您正在寻找pv4_na2.PivotItems()方法,该方法根据https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.pivotfield.pivotitems.aspx

返回PivotItem的集合

答案 1 :(得分:0)

pv4_na2PivotField,并且该字段包含PivotItems。因此,您需要在pv4_na2.PivotItems中以foreach的身份进行访问。参见下面的示例。


首先,通过在名为Excel的文件顶部将别名设置为

,让我们的生活更轻松
 using Excel = Microsoft.Office.Interop.Excel;

然后我们可以使用以下别名来定义项目:

Excel.PivotField pivotField = {However you set it};

foreach (Excel.PivotItem item in pivotField.PivotItems())
{
   if (item.Name == itemValue)
        ...
}