我有一个文件,其文件扩展名是.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()
}
答案 0 :(得分:1)
当您致电SaveAs
时,您应该真正指定MSDN。
根据SaveAs
的{{3}},它将是第二个参数,因此更正后的行将是:
$workbook.SaveAs($OutLoc + $n + ".xlsx", 51) # 51 = xlOpenXMLWorkbook
我没有足够的COM交互经验,但您可以直接以某种方式使用枚举,并使该行类似于:
$workbook.SaveAs($OutLoc + $n + ".xlsx", $xldoc.XlFileFormat.xlOpenXMLWorkbook)