2016-12-20 158 views
0

私は、csvファイルをpowershellを使用してExcelに変換しようとしています。別の投稿から助けを得てスクリプトを実行しますが、出力は空のxlsxファイルです。csvファイルをpowershellを使用してExcelに変換する

誰か助けてもらえますか?ここで

は、私は、次のコマンド

を実行しているよそして、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" 

です\ "C:\スクリプト\ testcsv.csv" -inputfile csv_to_excel.ps1。C」-outputFile: \ Scripts \ data.xlsx "

また、誰かがExcelのPowerShellインポートモジュールの使用経験があり、そのためのガイドがあれば、私もそれを理解できます。 PowerShellを5とコンピュータまたはインストールさPSGetとの下位バージョンからのダグ・フィンケして、Excelモジュールを使用する

おかげ

+0

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

+0

これはうまくいくようでしたが、 csvファイルを2番目のlinファイルではなくxlsxファイルにコピーしますe :( – docwobster

答えて

3

$inputfile$outputfile、スクリプトなどのファイルの場所です

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

+0

You Rock !!!! Wootは機能していますが、モジュールのピボットテーブル部分を調べる必要がありますが、それは基本的に同じ概念ですか? – docwobster

+0

ええ、それは単なるパラメータ '-pivotrows'、' -pivotcolumns'、 '-pivotdata'です。 [Dougのgithubサイト](https://github.com/dfinke/ImportExcel)の上の良い情報 – BenH

+0

情報ありがとうございます。これらのパラメータをインポートまたはエクスポートのExcelと組み合わせて使用​​する必要がありますか? githubサイトを見ようとしましたが、フォーマットに関する情報は見ませんでした。 – docwobster

関連する問題