Найдите дубликаты строк в файле Excel и скопируйте дубликаты в другой файл Excel с помощью PowerShell - PullRequest
0 голосов
/ 02 апреля 2019

Мне нужно найти все дублирующиеся строки, присутствующие в файле Excel, и скопировать эти дублирующиеся строки в новый файл Excel с помощью сценария powershell. Может ли кто-нибудь помочь мне в этом ??

Я уже попробовал некоторый кодно не работает должным образом!код ниже проверяет только два столбца на наличие дубликатов, но мне нужно проверить все столбцы; (

$dxl= New-Object -ComObject Excel.application
$dwb= $dxl.Workbooks.Add()
$dws= $dwb.Worksheets.Item(1)
$z=1       

foreach ($file in (Get-ChildItem “C:\sample\” -include *.xls, *.xlsx -exclude ResultSheet.xlsx -recurse ))
{   
    $Col=1

    $objxl = New-Object -ComObject Excel.Application
    $objwb = $objxl.Workbooks.Open($file.fullname)
    $objws = $objwb.Worksheets.Item(1)
    $rowMax = ($objws.UsedRange.Rows).count

    for($i=2; $i -le $rowMax ;$i++)
    { 
        for($j=3; $j -le $rowMax ;$j++)
        {
            if($objws.Cells.Item($i,$Col).value() -eq  $objws.Cells.Item($j,$Col).value() -and  $objws.Cells.Item($i,$Col+1).value() -eq $objws.Cells.Item($j,$Col+1).value())   
            {                 
                $dup=$objws.Cells.Item(1).range($i,$col).EntireRow
                $dup.copy | out-null  
                $dws.Paste($dup)
            }
            $z++
        }
    }

    $dxl.visible = $True
    $range = $dws.usedRange                                                             
    $range.EntireColumn.AutoFit() | out-null
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...