在Excel工作簿中的office.js刷新数据透视表不起作用

时间:2017-09-15 10:23:16

标签: office-js

我们正在构建一个处理数据透视表的excel插件。我们想要从数据源刷新数据透视表。我们希望在Refresh All Connections标签上实现Data按钮的相同功能。但我们希望使用office.js从代码中完成。

我们尝试了以下代码段。它不起作用。

Excel.run(function (ctx) {
    var pivotTables = ctx.workbook.worksheets.getActiveWorksheet().pivotTables;//.load("items");
    pivotTables.refreshAll();
    return ctx.sync().then(function () {
        //var table = pivotTables.items[0];
        //table.refresh();
        //pivotTables.refreshAll();
    }).then(ctx.sync);
});

对此有任何帮助将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:1)

你的代码没错,但你对refreshAll在这里所做的事情的期望有点偏。此方法将刷新数据透视表以反映对支持它的数据所做的任何更改。这与拉动数据本身的新快照不同。

使用此方法的一个示例是,如果您的加载项对数据矩阵进行了多处更改,则一旦完成,您将执行refreshAll()以使数据更改反映在数据透视表中。

目前无法使用office.js触发数据连接刷新。