批量将xlsx转为xls的powershell脚本

1. 前提

公司有需求批量转换大量xlsx到xls,于是写了这个脚本

2. 环境

Windows 10+ ,PowerShell 7.2+, vscode且powershell插件

3. 源码

# 设置源文件夹和目标文件夹
$sourceFolder = "源目录"
$destinationFolder = "输出目录"

# 检查并创建目标文件夹(如果不存在)
if (-not (Test-Path -Path $destinationFolder)) {
    New-Item -ItemType Directory -Path $destinationFolder | Out-Null
}

# 创建 Excel 应用程序对象
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$excel.DisplayAlerts = $false

# 获取所有 XLSX 文件
Get-ChildItem -Path $sourceFolder -Filter *.xlsx | ForEach-Object {
    $xlsxPath = $_.FullName
    $xlsPath = Join-Path -Path $destinationFolder -ChildPath ($_.BaseName + ".xls")
    
    Write-Host "Converting $($_.Name) to XLS format..."
    
    # 打开 XLSX 文件
    $workbook = $excel.Workbooks.Open($xlsxPath)
    
    # 保存为 XLS 格式
    $workbook.SaveAs($xlsPath, 56) # 56 是 XLS 格式的文件格式代码
    
    # 关闭工作簿
    $workbook.Close()
    
    Write-Host "Conversion complete: $xlsPath"
}

# 关闭 Excel 应用程序
$excel.Quit()

# 释放 COM 对象
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null

Write-Host "All conversions completed."

保存为  任意名字.ps1 

4. 执行

注意 : 运行代码前需要信任该目录

5. 完成

运行完后就尽情的喝咖啡摸鱼吧!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值