Jak wyeksportować plik CSV do programu Excel przy użyciu Powershell
Próbuję wyeksportować pełny plik CSV do programu Excel przy użyciu Powershell. Utknąłem w punkcie, w którym używane są statyczne nazwy kolumn. Ale to nie działa, jeśli mój CSV ma ogólne nieznane nazwy nagłówków.
kroki ku reprodukcjiOtwórz swój PowerShell ISE i skopiuj i wklej następujący samodzielny kod. Uruchom goF5
„C: Windows 32 WindowsPowerShell v1.0 powershell_ise.exe”
Get-Process | Export-Csv -Path $env:temp\process.csv -NoTypeInformation
$processes = Import-Csv -Path $env:temp\process.csv
$Excel = New-Object -ComObject excel.application
$workbook = $Excel.workbooks.add()
$i = 1
foreach($process in $processes)
{
$excel.cells.item($i,1) = $process.name
$excel.cells.item($i,2) = $process.vm
$i++
}
Remove-Item $env:temp\process.csv
$Excel.visible = $true
Co to robiSkrypt wyeksportuje listę wszystkich aktywnych procesów jako plik CSV do folderu tymczasowego. Ten plik jest tylko dla naszego przykładu. Może to być dowolny plik CSV z dowolnymi danymiCzyta nowo utworzony plik CSV i zapisuje go w katalogu$processes
zmiennaTworzy nowy i pusty skoroszyt programu Excel, w którym możemy zapisywać danePowtarza wszystkie wiersze (?) I zapisuje wszystkie wartości zname
ivm
kolumna do ExcelaMoje pytaniaCo jeśli nie znam nagłówków kolumn? (W naszym przykładziename
ivm
). Jak adresować wartości, w których nie znam ich nazw nagłówków?Jak policzyć, ile kolumn ma CSV? (po przeczytaniu goImport-Csv
)Chcę tylko napisać cały CSV do Excela za pomocą Powershell