Я хотел прочитать содержимое файла Excel, а затем вывести его в текстовый файл.В настоящее время мой код выводит результаты только на консоль.
Я пытался написать код, который получает соответствующие столбцы, а затем загружает их в массив для последующей записи на консоль.
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $False
$PLACE = "C:\Somepath\somename.xlsx"
$OpenFile = $Excel.Workbooks.Open($PLACE)
$Workbook = $OpenFile.Worksheets
$Worksheet = $Workbook.Item(1)
# Get the values for each column
$MNumber = $Worksheet.Cells | where {$_.value2 -eq "Material-Number"} | select -First 1
$MDescription = $Worksheet.Cells | where {$_.value2 -eq "Material-Description"} | select -First 1
# Get the values for each row in Material Number
$NumValues = @()
$NumValues = for($i=2; $MNumber.Cells.Item($i).Value2 -ne $null; $i++ ){
$MNumber.Cells.Item($i)
}
# Get the values for each row in Material Description
$DescValues = @()
$DescValues = for($i=2; $MDescription.Cells.Item($i).Value2 -ne $null; $i++ ){
$MDescription.Cells.Item($i)
}
$NumValues | ForEach-Object {Write-host $_.value2}
$DescValues | ForEach-Object {Write-Host $_.value2}
Ничего не выводится на консоль к концу процесса.Даже если это точные столбцы, и каждый столбец содержит данные.