我有超过150个excel文件,其中一些有一个额外的列(让我们称之为" ExtraColumn"),而有些则没有此列。我没有手动打开每个文件以查看哪些文件具有额外的列,而是想使用powershell来解决这个问题。
到目前为止,我尝试过的代码似乎没有让我到任何地方。如果您有任何建议或可以指出正确的答案,那将是非常精彩的,非常感谢!
gci -Path C:\Test -Recurse | % {
$ExcelFile = (Get-Content $_.FullName -TotalCount 1)
if ($ExcelFile -like "ExtraColumn") {
Write-Host "$_ has the extra column"
} else {
Write-Host "$_ does not have the extra column"
}
}
答案 0 :(得分:1)
您可以使用Excel ComObject,因为代码简单只需命名工作表,否则您也可以找到工作表,添加foreach部分以在所有文件上运行它,
对于我将该列命名为“extracol”
的示例$excel = New-Object -ComObject excel.application
$WB = $excel.Workbooks.Open('C:\exceltest.xlsx')
$WS = $Excel.WorkSheets.item("Sheet1")
$ExtraCol = ($ws.Columns.Find('extracol'))
if ($ExtraCol) {$ExtraCol.Delete()}
$wb.Save()
$wb.Close()
$excel.Quit()