PowerShell保存文件为xls,但输出为html

我有一个文件的扩展名是.xls,但奇怪的是当保存为,默认是去html文件。

在这里输入图像说明

在这里输入图像说明

当我使用我的PowerShell脚本对文件执行某些操作并将其保存为xls文件时,这导致了一个问题。 结果是脚本生成一个xls文件和一个包含html文件的文件夹。 有没有办法解决这个问题? 我只是想将文件保存为xls文件而不是任何html文件。 任何帮助,非常感谢。

该

在这里输入图像说明

这里我用来将文件保存为.xls的代码

Function RenameTab ($ExcelFileName, $OutLoc) { $excelFile = "D:\Projects\" + $excelFileName + ".xls" $xldoc = New-Object -ComObject "Excel.Application" $xldoc.Visible = $false $xldoc.DisplayAlerts = $false $workbook = $xldoc.Workbooks.Open($excelFile) foreach ($worksheet in $workbook.Worksheets) { $n = $ExcelFileName ##+ "_" + $worksheet.Name $worksheet = $workbook.worksheets.item(1) $worksheet.name = "Sheet1" $workbook.SaveAs($OutLoc + $n + ".xlsx") $workbook.Close() } $xldoc.Quit() } 

当你调用SaveAs ,你应该真的指定文件格式 。

根据SaveAs的文档 ,这将是第二个参数,所以更正的行将是:

 $workbook.SaveAs($OutLoc + $n + ".xlsx", 51) # 51 = xlOpenXMLWorkbook 

我没有太多有关COM交互的经验,但是您可能会直接使用枚举,并使行类似于:

 $workbook.SaveAs($OutLoc + $n + ".xlsx", $xldoc.XlFileFormat.xlOpenXMLWorkbook)