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

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

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

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

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

$OldFolder = "C:TestFrom"
$NewFolder = "C:TestTo"
$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:TestExcel1.xlsx")
$Workbook.CheckCompatibility = $false
$Workbook.SaveAs("C:TestExcel2.xls", 56)
$Workbook.Close()
$Excel.Quit()

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

$OldFolder = "C:TestFrom"
$NewFolder = "C:TestTo"
$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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>