繁体   English   中英

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

[英]PowerShell save file as xls but output was 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM