我在一个文件夹中有.xls文件,我想用PowerShell来格式化每个文件,如下所示:
实际上,我要删除第1行,然后删除第2行三次。我想用原始文件名保存每个文件,然后关闭并退出。
这就是我所拥有的:
Name Time in out Miami 07:00 50 100
这就是我想要的:
Name Time in out Miami 07:00 50 100
这是正确的脚本(在得到其他人的好评后):
$excel = New-Object -ComObject "Excel.Application"
$excel.DisplayAlerts = $false
$excel.Visible = $false
$localPath = (Get-Location).ToString()
foreach ($file in Get-ChildItem *.xls) {
$wb = $excel.Workbooks.Open($file.FullName)
$wb.WorkSheets.Item(1).Range("A3:A5").EntireRow.Delete() # deletes Rows 3,4,5
$wb.WorkSheets.Item(1).Range("A1").EntireRow.Delete() # deletes Row 1
$wb.SaveAs($localPath + "\" + $file.Name)
$wb.Close($true)
}
$excel.Quit()
[void][Runtime.Interopservices.Marshal]::ReleaseComObject($excel)