1

在 Office Javascript API 的 Office 2013 版本中,我将创建如下表:

Office.context.document.setSelectedDataAsync(
   tbl, {
                        coercianType: Office.CoercionType.Table,
                        cellFormat: tableCellFormats,
                        tableOptions: { filterButton: false }
          });

现在有了将范围转换为表格的新方法,我缺少一件事。也就是说,如何在关闭过滤器按钮的情况下创建它。我没有看到可以设置 filterbutton = false 的 Table.options 属性。(见下面的片段):

Excel.run(function (ctx) {
    ctx.workbook.tables.add('Sheet1!A1:E7', true);
    return ctx.sync();
}).catch(function (error) {
    console.log(error);
});

有人可以发布一个关于如何做到这一点的javascript片段吗?

4

1 回答 1

1

事实证明,我能够使用绑定来完成此操作。代码如下。我在 Excel.Run 中添加了一个 .then() ,以便在创建表后,我可以添加绑定并设置表选项:

.then(function (ctx) {
   Office.context.document.bindings.  
       addFromNamedItemAsync('tblRawEmpInfo', Office.BindingType.Table, 
           { id: "tblRawEmpInfoBinding" }, function (asyncResult) {
                        if (asyncResult.status != Office.AsyncResultStatus.Failed) {
                            Office.select("bindings#tblRawEmpInfoBinding").setTableOptionsAsync({ filterButton: false });
                            return ctx.sync();
                        }
                        else
                            return ctx.sync();
                    });

希望这对某人有所帮助,我不得不说,这个 javascript api 似乎正在进行中。我认为应该添加一个 Table.options 属性,我会将此评论添加到 github 站点。

于 2016-02-04T16:22:50.997 回答