2017-07-31 30 views
-1

午後のすべてのExcel名前を付けて保存のcsv、PowerShellの - 指定された区切り文字

は異なる区切り文字でPowerShellを使用してCSVファイルを保存することが可能ですが、私の場合には「§」。私はXLSXファイルの項目を開いて変更するために次のスクリプトを使用していて、区切られたCSVとして保存することを願っています。

$Path = "C:\ScriptRepository\CQC\DataToLoad\" 
$FileName = (Get-ChildItem $path).FullName 
$FileName2 = (Get-ChildItem $path).Name 
$CSVFile = "$Path\$Filename2.csv" 

$Excel = New-Object -ComObject Excel.Application -Property @{Visible = 
$false} 
$Excel.displayalerts=$False 
$Workbook = $Excel.Workbooks.Open($FileName) 
$WorkSheet = $WorkBook.Sheets.Item(2) 
$Worksheet.Activate() 
$worksheet.columns.item('G').NumberFormat ="m/d/yyyy" 
$Worksheet.Cells.Item(1,3).Value = "Site ID" 
$Worksheet.Cells.Item(1,4).Value = "Site Name" 

$Worksheet.SaveAs($CSVFile, 
[Microsoft.Office.Interop.Excel.XlFileFormat]::xlCSVWindows) 

$workbook.Save() 
$workbook.Close() 
$Excel.Quit() 
+0

最も簡単な方法は、['Range.TextToColumns'メソッド](https://superuser.com/a/291519/114733)への効果的なnoop呼び出しで、「最後に使用した」区切り文字を変更して、目的の区切り文字 –

答えて

0

ランニング|検索と置換の方法は、(セット内容-Path $ CSVfile2(ゲット・コンテンツ-Path $ csvfile内).Replaceは( ' '' §'))私の場合には動作しません。 PowerShellのモジュールをエクセルせずに、エクスポート/ Excelスプレッドシートをインポートする - 以下のコマンドを、あなたはあなたがImportExcelをチェックアウトする必要があります

Import-CSV filename.csv | ConvertTo-CSV -NoTypeInformation -Delimiter "§" | Out-File output_filename.csv 

§区切り文字を使用してCSVファイルを保存できます。これは、PowerShellを使用してファイルを簡単に処理できるようにします。

+0

イッサンさんありがとう、これはうまくいきます。私はこれが可能ならばExcelのコマンドで行うことができると期待していた。 –

関連する問題