根据一个单元格中的数据删除Excel中的行

时间:2015-07-15 21:24:27

标签: powershell

Powershell中是否有办法根据Excel中一个单元格中的值删除整行。

情景:

我在列H中有一个samaccountnames列表。我已经审查过AD中不再存在这些帐户中的100个。我想删除列H中包含这些不存在的samaccountnames的所有行。

我以为我可以将samaccountnames放在一个文本文件中并使用get-content,但我不确定需要为excel部分做些什么。

1 个答案:

答案 0 :(得分:2)

更新(感谢以下评论)

我认为你看起来像这样,我给你一个草稿,你必须为你定制:

$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $false
$WorkBook = $objExcel.Workbooks.Open("C:\excel.xls")
$WorkSheet = $WorkBook.sheets.item(1)

for ($i = $worksheet.usedrange.rows.count; $i -gt 0; $i--)
{ 
    $user = $worksheet.Range("H$i").Text

    if (dsquery user -samid $user)
    {
        $found = $true
    }
    else
    {
        $found = $false
    }

    if (!($found))
    {
        $WorkSheet.Cells.Item($i, $i).EntireRow.Delete()
    }
}

$WorkBook.SaveAs($file)
$WorkBook.Close($true)
$objExcel.Quit()