批处理(Batch)把Excel文件xls格式和xlsx格式进行互换

发布于:2024-04-01 ⋅ 阅读:(91) ⋅ 点赞:(0)

批处理(Batch)把Excel文件xls格式改成xlsx格式以及xlsx格式改为xls格式。

Case1:xls转xlsx - 单个文件.bat

$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
$Workbook = $Excel.Workbooks.Open("C:\Test\Excel\1.xls")
$Workbook.CheckCompatibility = $false
$Workbook.SaveAs("C:\Test\Excel\1.xlsx", 51)
$Workbook.Close()
$Excel.Quit()

Case2:xls转xlsx - 多个文件.bat

$OldFolder = "C:\Test\From"
$NewFolder = "C:\Test\To"
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
Get-ChildItem -Path $OldFolder\*.xls -File | ForEach-Object {
    $NewName = $NewFolder + "\" + $_.BaseName + ".xlsx"
    "[From] " + $_.FullName
    "[To] " + $NewName
    $Workbook = $Excel.Workbooks.Open($_.FullName)
    $Workbook.CheckCompatibility = $false
    $Workbook.SaveAs($NewName, 51)
    $Workbook.Close()
}
$Excel.Quit()

Case3:xlsx转xls - 单个文件.bat

$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
$Workbook = $Excel.Workbooks.Open("C:\Test\Excel\1.xlsx")
$Workbook.CheckCompatibility = $false
$Workbook.SaveAs("C:\Test\Excel\2.xls", 56)
$Workbook.Close()
$Excel.Quit()

Case4:xlsx转xls - 多个文件.bat

$OldFolder = "C:\Test\From"
$NewFolder = "C:\Test\To"
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
Get-ChildItem -Path $OldFolder "*.xlsx" | ForEach-Object {
    $NewName = $NewFolder + "\" + $_.BaseName + ".xls"
    "[From] " + $_.FullName
    "[To] " + $NewName
    $Workbook = $Excel.Workbooks.Open($_.FullName)
    $Workbook.CheckCompatibility = $false
    $Workbook.SaveAs("$NewName", 56)
    $Workbook.Close()
}
$Excel.Quit()

以上仅供参考学习。

http://www.bathome.net/thread-53806-1-6.html

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到