如何将基于 XML 的 XLS 文件转换为 XLSX?
How to convert XML based XLS file to XLSX?
我有一堆 XLS 文件。打开文件时出现提示:format and extension don't match
后来,我发现这是一个旧的基于 XML 的 XLS 文件。出于这个原因,我无法直接将这些文件导入 R 或 SAS。
我尝试打开一个并使用“另存为”将文件保存为 R 和 SAS 支持的任何格式,如 XLSX 或 CSV 等。
问题是有数百个文件,不太适合一个一个打开和保存。
我可以将任何进程合并到 PowerShell 进程中都很棒。
试试这个 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()
我有一堆 XLS 文件。打开文件时出现提示:format and extension don't match
后来,我发现这是一个旧的基于 XML 的 XLS 文件。出于这个原因,我无法直接将这些文件导入 R 或 SAS。
我尝试打开一个并使用“另存为”将文件保存为 R 和 SAS 支持的任何格式,如 XLSX 或 CSV 等。
问题是有数百个文件,不太适合一个一个打开和保存。
我可以将任何进程合并到 PowerShell 进程中都很棒。
试试这个 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()