2017-07-31 37 views
-1

下午所有,PowerShell的 - 另存爲Excel的CSV與指定的分隔符

是否可以使用PowerShell工具不同的分隔符,在我的情況「§」保存CSV文件。我使用下面的腳本來打開和更改在XLSX文件的項目,然後希望保存爲「§」分隔CSV。查找和替換方法不會在我的情況下工作((獲取內容-Path $ CSVfile).Replace( ' '' §')|設爲內容-Path $ CSVfile2)

$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) –

回答

0

運行下面的命令,將讓您保存使用的分隔符的CSV文件§

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

你應該看看ImportExcel - PowerShell的模塊導入/導出Excel電子表格,Excel中沒有。它使使用PowerShell更容易使用Excel文件。

+0

謝謝Ishan,這是行不通的。但我希望儘可能使用Excel命令來完成。 –

相關問題