2016-12-20 2 views
0

Я пытаюсь преобразовать файл 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 и есть какое-то руководство для этого, я был бы признателен за это.

Благодаря

+0

'$ ws.Cells.Item ($ i, $ j)' -> '$ ws.Cells.Item ($ i, $ j) .Value' –

+0

Казалось, что это работает, но оно только помещает первую строку csv-файл в файл xlsx, а не второй lin e :( – docwobster

ответ

3

Для использования модуля Excel Дуг Финке с компьютера с помощью PowerShell 5 или более низкой версии с PSGet установлены:

Install-Module importexcel 
Import-CSV $inputfile | Export-Excel $outputfile 

Где $inputfile и $outputfile являются места расположения файлов, как ваш сценарий

+0

You Rock !!!! Woot, который работал, должен будет заглянуть в части сводной таблицы модуля, но является ли это в основном той же концепцией? – docwobster

+0

Да, это всего лишь пара параметров '-pivotrows',' -pivotcolumns' и '-pivotdata'. Хорошая информация об этом на сайте [doug's github] (https://github.com/dfinke/ImportExcel) – BenH

+0

Спасибо за информацию. Вам нужно использовать эти параметры в сочетании с Import или Export excel? Попытка посмотреть сайт github, но не увидеть информацию о форматировании. – docwobster

Смежные вопросы