【问题标题】:How to convert XML based XLS file to XLSX?如何将基于 XML 的 XLS 文件转换为 XLSX?
【发布时间】:2019-10-04 21:04:40
【问题描述】:

我有一堆 XLS 文件。打开文件我得到提示:format and extension don't match

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

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

问题是有数百个文件,不能一个一个地打开和保存。

任何可以合并到 PowerShell 进程中的进程都会很棒。

【问题讨论】:

    标签: powershell powershell-v6.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()
    

    【讨论】:

    • 你知道这是否会打开以 .xls 扩展名保存的 XML 文件,而不会导致弹出窗口确认打开内容与扩展名不匹配的文件?必须确认打开了数百个文件会很痛苦。
    • 我不这么认为,但如果是这样你可以使用 Open 方法的 CorruptLoad 属性来指定你想在 Excel 中使用修复模式docs.microsoft.com/fr-fr/office/vba/api/excel.workbooks.open
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2012-09-06
    • 1970-01-01
    相关资源
    最近更新 更多