从C#刷新Excel数据透视表

bad*_*ash 3 .net c#

我正在尝试刷新Excel工作表中的数据透视表并获得以下异常:

Item method in the PivotTables class failed
Run Code Online (Sandbox Code Playgroud)

下面是代码:

pivotSheet.Activate();
Microsoft.Office.Interop.Excel.PivotTables pivotTables = 
        (Microsoft.Office.Interop.Excel.PivotTables)pivotSheet.PivotTables(missing);
int pivotTablesCount = pivotTables.Count;  
    if (pivotTablesCount > 0)
    {
        for (int i = 0; i <= pivotTablesCount; i++)
        {
            pivotTables.Item(i).RefreshTable(); //The Item method throws an exception
        }
    }
Run Code Online (Sandbox Code Playgroud)

任何的想法?

小智 8

假设索引从零开始,您将使用循环超出集合.

尝试:

for (int i = 0; i < pivotTablesCount; i++)
Run Code Online (Sandbox Code Playgroud)

如果这不起作用Excel可能会开始索引为1而不是0.

尝试:

for (int i = 1; i <= pivotTablesCount; i++)
Run Code Online (Sandbox Code Playgroud)

  • 从i = 1开始.诡计.我认为excel中的索引从1开始而不是0. (2认同)