如何将基于XML的XLS文件转换为XLSX?

时间:2019-05-17 13:58:44

标签: powershell powershell-v6.0

我有一堆XLS文件。打开文件后,出现提示:format and extension don't match

后来,我发现这是一个基于XML的旧XLS文件。因此,我无法将这些文件直接导入R或SAS。

我尝试打开一个文件并使用“另存为”以R和SAS支持的任何格式(例如XLSX或CSV等)保存文件。

问题在于有成百上千个文件,无法一一打开并另存为文件。

任何可以集成到PowerShell进程中的过程都很棒。

1 个答案:

答案 0 :(得分:1)

尝试以下Powershell解决方案:

$Excel = New-Object -Com Excel.Application

foreach ($File in (gci *xls)) {
$Workbook = $Excel.Workbooks.Open($File.FullName) 
$Workbook.SaveAs(($File.FullName + "x"), 51) 
$Workbook.Close($false)}

$Excel.Quit() 

或者如果您要使用csv中的文件:

$Excel = New-Object -Com Excel.Application

foreach ($File in (gci *xls)) {
$Workbook = $Excel.Workbooks.Open($File.FullName) 
$Workbook.SaveAs($File.FullName.Replace(".xls",".csv"), 6) 
$Workbook.Close($false)}

$Excel.Quit()