You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JavaScript在Excel中创建自定义选项卡?

在Excel中通过Office.js创建自定义选项卡

以下是通过Office.js在Excel里创建自定义选项卡的具体实现代码,会生成名为「Contoso Data」的自定义选项卡,包含带按钮的「Insertion」功能组,最终通过Office.ribbon.requestCreateControls方法完成控件创建:

Office.onReady(async() => {
  // Office.js已准备就绪,可以调用相关API
  const contextualTabJSON = `{
    "actions": [
      {
        "id": "executeWriteData",
        "type": "ExecuteFunction",
        "functionName": "writeData"
      }
    ],
    "tabs": [
      {
        "id": "CtxTab1",
        "label": "Contoso Data",
        "groups": [
          {
            "id": "CustomGroup111",
            "label": "Insertion",
            "icon": [
              {
                  "size": 32,
                  "sourceLocation": "https://cdn.contoso.com/addins/datainsertion/Images/Group32x32.png"
              },
              {
                  "size": 80,
                  "sourceLocation": "https://cdn.contoso.com/addins/datainsertion/Images/Group80x80.png"
              }
            ],
            "controls": [
              {
                  "type": "Button",
                  "id": "CtxBt112",
                  "actionId": "executeWriteData",
                  "enabled": false,
                  "label": "Write Data",
                  "superTip": {
                      "title": "Data Insertion",
                      "description": "Use this button to insert data into the document."
                  },
                  "icon": [
                      {
                          "size": 32,
                          "sourceLocation": "https://cdn.contoso.com/addins/datainsertion/Images/WriteDataButton32x32.png"
                      },
                      {
                          "size": 80,
                          "sourceLocation": "https://cdn.contoso.com/addins/datainsertion/Images/WriteDataButton80x80.png"
                      }
                  ]
              }
            ]
          }
        ]
      }
    ]
  }`; // 定义自定义控件的JSON配置字符串

  const contextualTab = JSON.parse(contextualTabJSON);
  await Office.ribbon.requestCreateControls(contextualTab);
});

关键说明:

  • actions节点:定义按钮触发的动作,这里指定点击按钮时执行名为writeData的函数
  • tabs节点:配置自定义选项卡的核心信息:
    • 选项卡标签为「Contoso Data」
    • 包含一个名为「Insertion」的功能组,配置了不同尺寸的图标
    • 功能组内的「Write Data」按钮初始状态为禁用,配置了提示信息和对应图标
  • 最后通过JSON.parse解析配置字符串,调用requestCreateControls方法完成控件创建

内容的提问来源于stack exchange,提问作者Vikash Choudhary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 16:27:23