CatPP
January 29, 2024, 8:54am
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