1
下面的代碼正確過濾表格,但不會導致小計計算更新,因爲直接更改工作表中的過濾器時會發生更新。Office-js Excel API:filter.apply(...)不會觸發重新計算SUBTOTAL函數
是否有解決方法或其他API調用來觸發此操作?我查找了一個表或工作表recalc()函數,但找不到一個。
謝謝。
Excel.run((ctx: Excel.RequestContext) =>
{
var table = ctx.workbook.tables.getItem(tableIdOrName);
if (!keepPrevFilters)
table.clearFilters();
var column = table.columns.getItemAt(colIdx);
column.filter.apply(filterCriteria);
return ctx.sync().then(() =>
感謝您的答覆。我嘗試了一些東西,這裏是我的發現: –
'application.calculate(full)'和'application.calculate(recacluate)'不會導致重新計算。 'application.calculate(fullRebuild)'不會重新計算,但是這會重新計算所有打開的工作簿,並且會覆蓋用戶選項「Worbook Calculation」,因此如果用戶在調用此API時手動重新計算,仍然會重新計算。基於此,我不願意使用它。 –
我認爲問題是'filter.apply(..)'不會將表或_something_標記爲髒,所以Excel不認爲它有任何重新計算。我得出這個結論是因爲1)我啓用了手動計算,2)然後調用一個'filter.apply(..)',然後3)按下F9,什麼也沒有發生。重複這些步驟並使用表中的表格應用過濾器,然後F9執行重新計算。 –