我们正在构建一个处理数据透视表的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);
});
对此有任何帮助将不胜感激。
感谢。
答案 0 :(得分:1)
你的代码没错,但你对refreshAll
在这里所做的事情的期望有点偏。此方法将刷新数据透视表以反映对支持它的数据所做的任何更改。这与拉动数据本身的新快照不同。
使用此方法的一个示例是,如果您的加载项对数据矩阵进行了多处更改,则一旦完成,您将执行refreshAll()
以使数据更改反映在数据透视表中。
目前无法使用office.js触发数据连接刷新。