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

如何使用Excel Office Script创建循环重命名工作簿所有工作表

Excel Office Script 批量重命名工作表实现方案

核心修改逻辑

  • 替换原代码中获取单张工作表的逻辑,调用 workbook.getWorksheets() 获取工作簿内所有工作表的数组
  • 遍历数组对每个工作表执行重命名操作

场景1:按固定前缀+序号批量命名

适合需要统一命名规则、按顺序编号的场景,比如「报表_1」「报表_2」:

/**
 * 批量重命名所有工作表,按前缀+序号规则命名
 */
function main(workbook: ExcelScript.Workbook) {
  // 获取工作簿内所有工作表
  const allSheets = workbook.getWorksheets();
  // 自定义重命名前缀,可按需修改
  const namePrefix = "报表_";

  // 遍历所有工作表执行重命名
  allSheets.forEach((sheet, index) => {
    // 序号从1开始,可根据需要调整起始值
    const newName = `${namePrefix}${index + 1}`;
    sheet.setName(newName);

    // 如果需要同步调整工作表顺序,可保留以下代码,不需要直接删除即可
    sheet.setPosition(index);
  });
}

场景2:按预设名称列表顺序命名

适合已经确定所有工作表名称的场景,按预设列表顺序对应重命名:

/**
 * 按预设名称列表顺序批量重命名工作表
 */
function main(workbook: ExcelScript.Workbook) {
  // 获取工作簿内所有工作表
  const allSheets = workbook.getWorksheets();
  // 预设名称列表,数量建议和工作表数量匹配,可自行修改内容
  const nameList = ["销售数据", "库存统计", "人力成本", "财务报表", "汇总页"];

  // 遍历所有工作表执行重命名
  allSheets.forEach((sheet, index) => {
    // 跳过名称列表不存在的下标,避免下标越界报错
    if (nameList[index]) {
      sheet.setName(nameList[index]);
    }
  });
}

注意事项

  • 工作表名称不允许包含 / \ ? * [ ] 非法字符,长度不能超过31个字符
  • 重命名后的名称不能重复,否则脚本执行会抛出错误
  • 如果需要跳过指定工作表,可以在循环内加判断逻辑,比如 if (sheet.getName() === "固定首页") return; 即可跳过该表的重命名操作
  • 如果需要保留原代码里的指定表置顶逻辑,可以单独在循环外调用指定工作表的setPosition(0)方法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:18:02