如何使用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
相关产品推荐
相关产品推荐

