升级到Aspose.Cells24.1之后透视表刷新结果不正确

使用以下代码

var wb = new Workbook("input.xlsx");
foreach (var worksheet in wb.Worksheets)
{
    foreach (var pivotTable in worksheet.PivotTables)
    {
        pivotTable.RefreshData();
    }

    worksheet.RefreshPivotTables();
}
wb.Save("output.xlsx");

在23.12版本中可以正常刷新Sheet2中的透视表,但在24.1版本中刷新不了。
样例文件:
example.zip (134.6 KB)

@CatPP,

感谢您提供模板文件。

经过初步测试后,我可以使用您的模板文件和示例代码段重现您提到的问题。 使用最新版本/修复 Aspose.Cells for .NET v24.1 后,我发现数据透视表刷新结果不正确。

我们需要详细评估您的问题。 我们已在内部问题跟踪系统中打开以下新票证,并将根据支持政策中提到的条款提供修复。
问题 ID:CELLSNET-55062

一旦我们有更新,我们会通知您。

@CatPP
Worksheet.RefreshPivotTables()会刷新和计算工作表里所有的透视表,不需要在前面单独调用PivotTable.RefreshData()去刷新透视表的数据,这是一个重复的工作。当然,目前重复刷新遇到了问题,我们会进一步研究并解决它。
作为替代方案,你可以使用以下代码去完成透视表的刷新和计算,通过最新版本Aspose.Cells v24.1进行测试,可以得到正确的结果。

var wb = new Workbook("input.xlsx");
  wb.Worksheets.RefreshPivotTables();
wb.Save("output.xlsx");

@CatPP
我们已经修复了这个错误。
但是我还是希望你用 wb.Worksheets.RefreshPivotTables(); 来刷新所有的透视表。
因为如果使用 pivotTable.RefreshData();, 我们会刷新所有的依赖这个数据源的透视表。
如果有几个透视表使用相同的数据源, 我们就不得不做大量的重复工作,影响效率。

1 Like

The issues you have found earlier (filed as CELLSNET-55062) have been fixed in this update. This message was posted using Bugs notification tool by johnson.shi