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

如何使用PowerShell重命名Excel文件中的指定工作表

重命名Excel指定工作表的解决方案

你当前使用的是PowerShell脚本,无需掌握C#,修改现有脚本即可满足需求。你原有代码仅能修改第一个工作表,是因为固定指定了item(1)取第1个工作表,同时还有存储方法调用错误、COM对象未释放的问题。

可直接使用的修改后脚本

场景1:按原有名称指定要重命名的工作表

如果你知道要修改的日期名称工作表的完整原名,使用以下脚本,替换对应参数即可:

# 自定义配置项
$xlspath = "D:\New folder\Testing.xlsx"
$targetOldName = "20240520" # 替换为你要修改的日期工作表原名
$newSheetName = "Result_最新" # 替换为你要设置的新名称

# 初始化Excel COM对象
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false

try {
    $workbook = $excel.Workbooks.Open($xlspath)
    # 匹配目标工作表
    $targetSheet = $workbook.Worksheets | Where-Object {$_.Name -eq $targetOldName}
    if (!$targetSheet) {
        Write-Host "未找到指定名称的工作表"
        return
    }
    # 重命名
    $targetSheet.Name = $newSheetName
    # 保存修改
    $workbook.Save()
    Write-Host "重命名完成"
}
catch {
    Write-Host "操作出错:"$_.Exception.Message
}
finally {
    # 清理进程避免后台残留Excel
    if ($workbook) {
        $workbook.Close()
        [System.Runtime.Interopservices.Marshal]::ReleaseComObject($workbook) | Out-Null
    }
    $excel.Quit()
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null
    Remove-Variable excel
    [GC]::Collect()
    [GC]::WaitForPendingFinalizers()
}

场景2:自动取最后一个工作表(最新工作表)重命名

如果你的工作表按插入顺序排列,最后一个就是最新的,把上面匹配目标工作表的代码替换为下面这行即可:

$targetSheet = $workbook.Worksheets.Item($workbook.Worksheets.Count)

注意事项

  • 运行脚本前请关闭对应Excel文件,避免文件占用报错
  • 重命名前建议备份原文件,避免误操作丢失数据
  • 工作表名称不能包含\ / ? * [ ]特殊字符,长度不能超过31个字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:09:02