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

如何使用Excel JavaScript API遍历工作簿中选中的工作表?

解决Excel插件获取选中工作表的问题

Excel JavaScript API中确实没有直接的IS_SELECTED属性,但可以通过workbook.selectedWorksheets集合直接获取所有当前选中的工作表,无需遍历所有工作表逐一判断。

以下是实现需求的代码示例:

Excel.run(async (context) => {
  // 获取所有选中的工作表
  const selectedSheets = context.workbook.selectedWorksheets;
  // 加载需要的属性,比如name
  selectedSheets.load('name');
  await context.sync();

  // 遍历处理每个选中的工作表
  selectedSheets.items.forEach((ws) => {
    console.log(`处理选中的工作表:${ws.name}`);
    // 在这里执行你的操作逻辑
  });
});

补充说明

  • selectedWorksheets会返回当前工作簿中所有被选中的工作表(支持单个或多个选中的场景)
  • 若需遍历所有工作表并判断是否被选中,可结合工作表ID做匹配:
Excel.run(async (context) => {
  const allSheets = context.workbook.worksheets;
  const selectedSheets = context.workbook.selectedWorksheets;
  
  // 加载必要属性
  allSheets.load('name, id');
  selectedSheets.load('id');
  await context.sync();

  // 提取选中工作表的ID集合
  const selectedIds = new Set(selectedSheets.items.map(sheet => sheet.id));

  // 遍历所有工作表,判断选中状态
  allSheets.items.forEach((ws) => {
    if (selectedIds.has(ws.id)) {
      console.log(`工作表${ws.name}已被选中`);
      // 执行目标操作
    }
  });
});

内容的提问来源于stack exchange,提问作者Maxym Marchenko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 21:45:17