Я пытаюсь преобразовать файл csv в excel с помощью powershell. Я получил некоторую помощь от другого сообщения, и сценарий запускается, но вывод - пустой файл xlsx.конвертировать файл csv в excel с помощью powershell
Может кто-то помочь, пожалуйста?
Вот сценарий PowerShell
param (
[Parameter(Mandatory=$true)][string]$inputfile,
[Parameter(Mandatory=$true)][string]$outputfile
)
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$wb = $excel.Workbooks.Add()
$ws = $wb.Sheets.Item(1)
$ws.Cells.NumberFormat = "@"
write-output "Opening $inputfile"
$i = 1
Import-Csv $inputfile | Foreach-Object {
$j = 1
foreach ($prop in $_.PSObject.Properties)
{
if ($i -eq 1) {
$ws.Cells.Item($i, $j) = $prop.Name
} else {
$ws.Cells.Item($i, $j) = $prop.Value
}
$j++
}
$i++
}
$wb.SaveAs($outputfile,51)
$wb.Close()
$excel.Quit()
write-output "Success"
Тогда я бегу следующую команду
\ csv_to_excel.ps1 -inputfile "C: \ Scripts \ testcsv.csv". -outputfile «C: \ Scripts \ data.xlsx "
Кроме того, если у кого-то есть опыт работы с модулем PowerShell Excel Excel и есть какое-то руководство для этого, я был бы признателен за это.
Благодаря
'$ ws.Cells.Item ($ i, $ j)' -> '$ ws.Cells.Item ($ i, $ j) .Value' –
Казалось, что это работает, но оно только помещает первую строку csv-файл в файл xlsx, а не второй lin e :( – docwobster